Function at 0x10086a90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x9c
push ebx
push ebp
push esi
push edi
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xc4]
or esi, 0xffffffff
mov dword [edx + 4], ecx
or eax, esi
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xd8]
or ebp, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], eax
or eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc0]
mov dword [edx], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xb4]
mov edi, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x94], ecx
push dword [eax + 0x170]
mov ecx, dword [esp + 0xe4]
lea ebx, [eax + 0x20]
push ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x8c], edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x28], ebx
call fcn.101b3520
mov edx, dword [esp + 0xe4]
add esp, 8
mov ecx, dword [esp + 0xe0]
mov ebx, edx
mov eax, dword [esp + 0xd4]
sub ebx, eax
mov dword [esp + 0x38], ecx
mov ecx, edi
sbb dword [esp + 0x38], ecx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ebx
mov ebx, ebp
mov dword [esp + 0x8c], ebp
mov ebp, esi
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x20]
cmp ecx, dword [esp + 0xe0]
jg 0x100871b8
jl 0x10086bbb
cmp eax, edx
jae 0x100871b8
mov esi, dword [esp + 0xcc]
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x70], esi
mov dword [esp + 0x64], ebp
mov edi, dword [esp + 0x68]
mov ebp, edx
sub ebp, eax
mov dword [esp + 0x14], ebp
sbb edi, ecx
mov dword [esp + 0x34], edi
test edi, edi
jg 0x10086bfe
jl 0x10086bf1
cmp ebp, 0x10000
jae 0x10086bfe
mov edi, ecx
mov ebp, eax
mov dword [esp + 0x34], edi
jmp 0x10086d9d
mov edx, dword [esp + 0x58]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x8c]
shrd dword [esp + 0x5c], edx, 1
sar edx, 1
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x90]
shrd dword [esp + 0x58], edx, 1
mov dword [esp + 0x40], ebp
sar edx, 1
mov dword [esp + 0x8c], edx
mov edx, edi
shrd dword [esp + 0x40], edx, 1
sar edx, 1
cmp dword [esp + 0x74], 1
mov dword [esp + 0x90], edx
jne 0x10086c5e
mov ebp, dword [esp + 0x40]
mov edi, edx
jmp 0x10086d72
mov ebx, dword [esp + 0x64]
sub ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0xb8]
sbb esi, dword [esp + 0x44]
sub ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xbc]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], esi
cmp edx, esi
jb 0x10086c9a
ja 0x10086d66
cmp ecx, ebx
jae 0x10086d66
mov eax, ecx
xorps xmm0, xmm0
or eax, edx
jne 0x10086cb6
movlpd qword [esp + 0x48], xmm0
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
jmp 0x10086d66
mov ebp, ebx
movlpd qword [esp + 0x74], xmm0
mov ebx, dword [esp + 0x78]
mov eax, 0x3f
mov edi, dword [esp + 0x74]
shrd ebp, esi, 1
shr esi, 1
shld ebx, edi, 1
add edi, edi
cmp edx, esi
jb 0x10086cf4
ja 0x10086ce1
cmp ecx, ebp
jb 0x10086cf4
shld edx, ecx, 1
add ecx, ecx
sub ecx, dword [esp + 0x48]
sbb edx, dword [esp + 0x50]
or edi, 1
jmp 0x10086cfa
shld edx, ecx, 1
add ecx, ecx
sub eax, 1
jne 0x10086cd1
xorps xmm0, xmm0
mov dword [esp + 0x48], 0x3f
movlpd qword [esp + 0x50], xmm0
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ebp, edx
mov eax, edi
shrd ebp, esi, 1
and eax, 1
shr esi, 1
or eax, 0
mov ecx, esi
mov dword [esp + 0x50], ecx
je 0x10086d51
mov eax, dword [esp + 0x14]
xor esi, esi
mov ecx, dword [esp + 0x34]
and edx, eax
shrd eax, ecx, 1
and edx, 1
shr ecx, 1
add edx, eax
adc esi, ecx
add edx, ebp
adc esi, dword [esp + 0x50]
jmp 0x10086d55
mov edx, ebp
mov esi, ecx
shrd edi, ebx, 1
shr ebx, 1
sub dword [esp + 0x48], 1
jne 0x10086d18
mov ebp, edx
mov edi, esi
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add ebp, eax
adc edi, ecx
sub ebp, 0x10000
sbb edi, 0
mov dword [esp + 0x34], edi
cmp edi, ecx
jg 0x10086d95
jl 0x10086d8d
cmp ebp, eax
jae 0x10086d95
mov ebp, eax
mov dword [esp + 0x34], ecx
mov edi, ecx
mov dword [esp + 0x74], 0
cmp dword [esp + 0x1c], ebp
jne 0x10086dab
mov edx, dword [esp + 0x24]
cmp edx, edi
je 0x10086e18
cmp dword [esp + 0x28], 1
jne 0x10086dbb
push ebx
call fcn.101b3490
add esp, 4
mov eax, dword [esp + 0xb0]
push 0
push edi
push ebp
mov esi, dword [eax + 0x1da8]
push eax
mov dword [esp + 0x38], 0
call fcn.1006c190
mov ebx, eax
add esp, 0x10
mov eax, edx
mov dword [esp + 0x24], eax
test eax, eax
jl 0x10087259
jg 0x10086df7
test ebx, ebx
jb 0x10087259
push esi
mov dword [esi + 0x21a0], 0
call fcn.101b3a10
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edx
jmp 0x10086e1c
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov edi, eax
mov esi, dword [esp + 0x80]
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], esi
sub eax, ebx
lea ecx, [esp + 0x2c]
push ecx
sbb esi, edx
push esi
push eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0xc0]
call fcn.10087830
add esp, 0x14
test eax, eax
jle 0x100872ae
mov eax, dword [esp + 0xa8]
add eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
cdq
add eax, ebx
mov dword [esp + 0x14], ebx
mov ecx, edx
mov dword [esp + 0x10], esi
adc ecx, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
cmp esi, dword [esp + 0x48]
jg 0x10086ea4
jl 0x10086e9c
cmp ebx, edi
jae 0x10086ea4
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], esi
lea eax, [esp + 0x9c]
push eax
call fcn.101b2960
mov ecx, dword [esp + 0xb8]
add esp, 4
cmp dword [ecx + 0x170], eax
jne 0x10087088
lea eax, [esp + 0x9c]
push eax
call fcn.101b2930
mov esi, eax
add esp, 4
test esi, esi
jle 0x10087048
lea eax, [esp + 0x9c]
push eax
call fcn.101b28a0
mov edi, eax
mov ebx, edx
mov ecx, edi
add esp, 4
and ecx, ebx
cmp ecx, 0xffffffff
je 0x10087048
cmp ebx, dword [esp + 0xbc]
ja 0x100870c8
jb 0x10086f1e
cmp edi, dword [esp + 0xb8]
jae 0x100870c8
mov eax, dword [esp + 0x1c]
mov ebp, eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x3c], ecx
cmp dword [esp + 0x44], ebx
ja 0x10087190
jb 0x10086f46
cmp dword [esp + 0x60], edi
ja 0x10087190
cmp dword [esp + 0x70], ebx
jb 0x10087190
ja 0x10086f5c
cmp dword [esp + 0x64], edi
jb 0x10087190
cmp dword [esp + 0x28], 0
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
je 0x10086f8c
push ebp
call fcn.101b3490
add esp, 4
mov ecx, dword [esp + 0x9c]
movzx eax, byte [ecx + 0x1a]
cmp byte [eax + ecx + 0x1a], 0xff
jne 0x10086fee
lea eax, [esp + 0x9c]
push eax
push ebp
call fcn.101b3050
mov esi, dword [esp + 0xbc]
add esp, 8
add esi, 0x198
nop dword [eax]
push esi
push ebp
call fcn.101b3010
add esp, 8
test eax, eax
jne 0x10086fc0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], edx
mov dword [esp + 0x28], 1
jmp 0x10086ff6
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xb8]
sub ecx, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x44], ebx
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, dword [esp + 0xbc]
sbb eax, ebx
cmp eax, dword [esp + 0xe8]
ja 0x10087165
jb 0x10087038
cmp ecx, dword [esp + 0xe4]
ja 0x10087165
mov ebx, dword [esp + 0x1c]
mov ebp, ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
jmp 0x10087092
cmp dword [esp + 0x28], 1
jne 0x10087068
test esi, esi
jg 0x1008706e
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x9c]
push eax
push ebx
call fcn.101b3050
add esp, 8
mov esi, dword [esp + 0x14]
jmp 0x1008708a
push dword [esp + 0x20]
call fcn.101b3490
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x28], 0
jmp 0x1008708a
mov esi, ebx
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x3c], eax
jg 0x100871a2
jl 0x100870b0
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x18], eax
jae 0x100871a2
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
jmp 0x10086e31
mov esi, dword [esp + 0x18]
mov ecx, esi
mov eax, dword [esp + 0x3c]
add ecx, 1
mov edx, dword [esp + 0x34]
adc eax, 0
cmp edx, eax
jl 0x1008719a
jg 0x100870ee
cmp ebp, ecx
jbe 0x1008719a
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x6c], ebp
sub ebp, esi
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x68], edx
sbb edx, dword [esp + 0x3c]
shld eax, ecx, 1
add ecx, ecx
cmp edx, eax
jl 0x10087131
jg 0x10087127
cmp ebp, ecx
jbe 0x10087131
mov dword [esp + 0x74], 1
jmp 0x10087139
mov dword [esp + 0x74], 0
cmp dword [esp + 0x70], ebx
jb 0x1008715d
ja 0x10087147
cmp dword [esp + 0x64], edi
jbe 0x1008715d
cmp dword [esp + 0x44], ebx
ja 0x1008715d
jb 0x10087155
cmp dword [esp + 0x60], edi
ja 0x1008715d
mov dword [esp + 0x64], edi
mov dword [esp + 0x70], ebx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x68]
jg 0x100871a2
jl 0x1008717b
cmp ebp, dword [esp + 0x6c]
jae 0x100871a2
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
jmp 0x10086bd1
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp 0x10087169
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x28], 0
jne 0x1008728e
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
cmp ebx, esi
jne 0x100871c7
cmp edi, ebp
je 0x100871fd
push 0
push edi
or esi, 0xffffffff
push ebx
push dword [esp + 0xbc]
or ebp, esi
mov dword [esp + 0x20], ebp
call fcn.100874e0
add esp, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
test edx, edx
jg 0x100871fd
jl 0x100872ae
test eax, eax
jb 0x100872ae
cmp edi, dword [esp + 0x94]
jg 0x1008728a
jl 0x10087215
cmp ebx, dword [esp + 0x98]
jae 0x1008728a
test ebp, ebp
jg 0x10087266
jl 0x1008721f
test esi, esi
jae 0x10087266
lea eax, [esp + 0x2c]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0xc0]
call fcn.10087830
add esp, 0x14
cmp dword [esp + 0x2c], ebx
jne 0x1008724b
cmp dword [esp + 0x30], edi
je 0x10087266
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x9c
ret
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x9c
ret
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0xb8]
call fcn.100864c0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [esp + 0x10]
test edx, edx
jl 0x100872ac
jg 0x10087298
test esi, esi
jb 0x100872ac
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x24]
call fcn.101b3050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret