Function at 0x1008f610
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1017c91e
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x101cf40c]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cf40c]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0xb8]
mov esi, dword [esp + 0xc4]
push eax
push ecx
lea edx, [esp + 0x6c]
push edi
push edx
call fcn.1008f3d0
add esp, 0x10
xor ebx, ebx
mov dword [esp + 0xb0], ebx
mov esi, esi
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x78]
je 0x1008fb82
push 0x10183964
push esi
call fcn.101181c0
add esp, 8
test eax, eax
je 0x1008f7be
mov al, 0x43
mov byte [esp + 0x89], al
mov byte [esp + 0x8c], al
mov al, 0x6f
mov byte [esp + 0x8d], al
mov byte [esp + 0x8f], al
mov al, 0xd6
mov byte [esp + 0x84], 0xd7
mov byte [esp + 0x85], 0xa2
mov byte [esp + 0x86], 0xd2
mov byte [esp + 0x87], 0xe2
mov byte [esp + 0x88], 0x2c
mov byte [esp + 0x8a], 0x6d
mov byte [esp + 0x8b], 0x70
mov byte [esp + 0x8e], 0x6c
mov byte [esp + 0x90], 0x72
mov byte [esp + 0x91], 0xbd
mov byte [esp + 0x92], 0xd3
mov byte [esp + 0x93], 0xbf
mov byte [esp + 0x94], 0xda
mov byte [esp + 0x95], 0xb2
mov byte [esp + 0x96], 0xbb
mov byte [esp + 0x97], al
mov byte [esp + 0x98], 0xa7
mov byte [esp + 0x99], 0xb3
mov byte [esp + 0x9a], al
mov byte [esp + 0x9b], 0x48
mov byte [esp + 0x9c], 0x53
mov byte [esp + 0x9d], 0x56
mov byte [esp + 0x9e], 0xd1
mov byte [esp + 0x9f], 0xd5
mov byte [esp + 0xa0], 0xc9
mov byte [esp + 0xa1], 0xab
mov byte [esp + 0xa2], 0x21
mov byte [esp + 0xa3], bl
nop
lea ecx, [esp + 0x84]
push ecx
push edi
call fcn.10050420
add esp, 8
mov ah, ah
jmp 0x1008fb82
fld1
fsub qword [esp + 0xc8]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul qword [0x10183930]
or eax, 0xc00
mov dword [esp + 0x50], eax
fldcw word [esp + 0x50]
fistp qword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
fldcw word [esp + 0x18]
mov esi, esi
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x3c]
call fcn.1006ed00
mov byte [esp + 0xb0], 1
mov ebx, ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.1006ed00
mov byte [esp + 0xb0], 2
push eax
pop eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x30]
call fcn.1006ed00
mov byte [esp + 0xb0], 3
mov dl, dl
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x48]
call fcn.1006ed00
mov byte [esp + 0xb0], 4
mov bl, bl
mov dl, dl
xor edi, edi
mov dword [esp + 0x50], edi
nop
cmp esi, ebx
je 0x1008f9e1
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x1c], ebx
mov ch, ch
mov dword [esp + 0x18], ebx
xchg ebx, eax
xchg ebx, eax
mov byte [esp + 0x7c], 0x25
mov byte [esp + 0x7d], 0x78
mov byte [esp + 0x7e], 0x2d
mov byte [esp + 0x7f], 0x25
mov byte [esp + 0x80], 0x78
mov byte [esp + 0x81], 0
nop
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x84]
push edx
push esi
call fcn.10119fed
add esp, 0x10
mov dl, dl
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
je 0x1008f8d3
mov dword [eax], ebx
add dword [esp + 0x3c], 4
jmp 0x1008f8eb
push 1
push 1
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
lea ecx, [esp + 0x4c]
call fcn.1001fb20
push ecx
pop ecx
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
je 0x1008f900
mov dword [eax], ebx
add dword [esp + 0x24], 4
jmp 0x1008f918
push 1
push 1
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.1001fb20
mov edx, edx
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x34]
je 0x1008f92d
mov dword [eax], ebx
add dword [esp + 0x30], 4
jmp 0x1008f945
push 1
push 1
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x64]
push edx
push eax
lea ecx, [esp + 0x40]
call fcn.1001fb20
mov edi, edi
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x4c]
je 0x1008f95a
mov dword [eax], ebx
add dword [esp + 0x48], 4
jmp 0x1008f972
push 1
push 1
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x68]
push edx
push eax
lea ecx, [esp + 0x58]
call fcn.1001fb20
mov ebx, ebx
movzx eax, byte [esp + 0x1a]
mov ecx, dword [esp + 0x20]
add eax, ebp
mov dword [ecx + edi*4], eax
mov al, al
movzx edx, byte [esp + 0x19]
mov eax, dword [esp + 0x2c]
add edx, ebp
mov dword [eax + edi*4], edx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
and ecx, 0xff
add ecx, ebp
mov dword [edx + edi*4], ecx
mov ebp, ebp
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov dword [eax + edi*4], ecx
push ebx
pop ebx
push 0x10183570
push esi
call fcn.101181c0
add esp, 8
mov esi, eax
nop
cmp esi, ebx
je 0x1008f9d0
add esi, 1
mov bh, bh
add edi, 1
mov eax, eax
cmp esi, ebx
jne 0x1008f872
mov dword [esp + 0x50], edi
mov dword [esp + 0x14], ebx
mov ch, ch
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x14]
push edx
push 0x101838c0
push eax
call fcn.10119fed
add esp, 0xc
mov al, al
nop
cmp edi, ebx
mov dword [esp + 0x1c], ebx
jle 0x1008fb3e
lea ecx, [ecx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add eax, eax
add eax, eax
mov edx, dword [eax + ecx]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [eax + ecx]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x20]
mov edx, dword [eax + edx]
mov eax, dword [eax + ecx]
mov bl, bl
mov dl, dl
mov ch, ch
mov dl, dl
push edx
pop edx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebx, ah
mov bl, bl
and eax, 0xff
mov dword [esp + 0x18], eax
mov edx, edx
movzx eax, byte [esp + 0x16]
mov dword [esp + 0x5c], eax
mov ch, ch
movzx eax, byte [esp + 0x15]
mov dword [esp + 0x60], eax
push eax
pop eax
mov edi, dword [esp + 0x14]
and edi, 0xff
mov cl, cl
mov esi, ecx
sub esi, edx
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x58], eax
mov ah, ah
mov esi, ebx
sub esi, ebp
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x7c], eax
mov esi, esi
mov esi, dword [esp + 0x18]
sub esi, dword [esp + 0x54]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov ebx, ebx
add ecx, edx
cmp ecx, 0xff
jle 0x1008fad5
mov ecx, 0xff
mov bl, bl
add ebx, ebp
cmp ebx, 0xff
jle 0x1008fae6
mov ebx, 0xff
mov bl, bl
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
add edx, esi
cmp edx, 0xff
jle 0x1008faff
mov edx, 0xff
mov esi, esi
mov esi, dword [esp + 0x5c]
cmp esi, dword [esp + 0x58]
jl 0x1008fb29
cmp esi, ecx
jg 0x1008fb29
mov ecx, dword [esp + 0x60]
cmp ecx, dword [esp + 0x7c]
jl 0x1008fb29
cmp ecx, ebx
jg 0x1008fb29
cmp edi, eax
jl 0x1008fb29
cmp edi, edx
jle 0x1008fbc3
mov eax, dword [esp + 0x1c]
add eax, 1
cmp eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
jl 0x1008fa10
mov byte [esp + 0xb0], 3
lea ecx, [esp + 0x44]
call fcn.1006ed50
mov byte [esp + 0xb0], 2
lea ecx, [esp + 0x2c]
call fcn.1006ed50
mov byte [esp + 0xb0], 1
lea ecx, [esp + 0x20]
call fcn.1006ed50
mov byte [esp + 0xb0], 0
lea ecx, [esp + 0x38]
call fcn.1006ed50
mov dword [esp + 0xb0], 0xffffffff
lea ecx, [esp + 0x64]
call fcn.10006800
mov eax, 1
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.101179ba
add esp, 0xa0
ret
mov byte [esp + 0xb0], 3
lea ecx, [esp + 0x44]
call fcn.1006ed50
mov byte [esp + 0xb0], 2
lea ecx, [esp + 0x2c]
call fcn.1006ed50
mov byte [esp + 0xb0], 1
lea ecx, [esp + 0x20]
call fcn.1006ed50
mov byte [esp + 0xb0], 0
lea ecx, [esp + 0x38]
call fcn.1006ed50
mov dword [esp + 0xb0], 0xffffffff
lea ecx, [esp + 0x64]
call fcn.10006800
xor eax, eax
jmp 0x1008fb9b