Function at 0x10085e50
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.101ac440
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 0x10086578
jl 0x10085f7b
cmp eax, edx
jae 0x10086578
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 0x10085fbe
jl 0x10085fb1
cmp ebp, 0x10000
jae 0x10085fbe
mov edi, ecx
mov ebp, eax
mov dword [esp + 0x34], edi
jmp 0x1008615d
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 0x1008601e
mov ebp, dword [esp + 0x40]
mov edi, edx
jmp 0x10086132
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 0x1008605a
ja 0x10086126
cmp ecx, ebx
jae 0x10086126
mov eax, ecx
xorps xmm0, xmm0
or eax, edx
jne 0x10086076
movlpd qword [esp + 0x48], xmm0
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
jmp 0x10086126
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 0x100860b4
ja 0x100860a1
cmp ecx, ebp
jb 0x100860b4
shld edx, ecx, 1
add ecx, ecx
sub ecx, dword [esp + 0x48]
sbb edx, dword [esp + 0x50]
or edi, 1
jmp 0x100860ba
shld edx, ecx, 1
add ecx, ecx
sub eax, 1
jne 0x10086091
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 0x10086111
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 0x10086115
mov edx, ebp
mov esi, ecx
shrd edi, ebx, 1
shr ebx, 1
sub dword [esp + 0x48], 1
jne 0x100860d8
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 0x10086155
jl 0x1008614d
cmp ebp, eax
jae 0x10086155
mov ebp, eax
mov dword [esp + 0x34], ecx
mov edi, ecx
mov dword [esp + 0x74], 0
cmp dword [esp + 0x1c], ebp
jne 0x1008616b
mov edx, dword [esp + 0x24]
cmp edx, edi
je 0x100861d8
cmp dword [esp + 0x28], 1
jne 0x1008617b
push ebx
call fcn.101ac3b0
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.1006b560
mov ebx, eax
add esp, 0x10
mov eax, edx
mov dword [esp + 0x24], eax
test eax, eax
jl 0x10086619
jg 0x100861b7
test ebx, ebx
jb 0x10086619
push esi
mov dword [esi + 0x21a0], 0
call fcn.101ac930
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edx
jmp 0x100861dc
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.10086bf0
add esp, 0x14
test eax, eax
jle 0x1008666e
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 0x10086264
jl 0x1008625c
cmp ebx, edi
jae 0x10086264
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], esi
lea eax, [esp + 0x9c]
push eax
call fcn.101ab870
mov ecx, dword [esp + 0xb8]
add esp, 4
cmp dword [ecx + 0x170], eax
jne 0x10086448
lea eax, [esp + 0x9c]
push eax
call fcn.101ab840
mov esi, eax
add esp, 4
test esi, esi
jle 0x10086408
lea eax, [esp + 0x9c]
push eax
call fcn.101ab7b0
mov edi, eax
mov ebx, edx
mov ecx, edi
add esp, 4
and ecx, ebx
cmp ecx, 0xffffffff
je 0x10086408
cmp ebx, dword [esp + 0xbc]
ja 0x10086488
jb 0x100862de
cmp edi, dword [esp + 0xb8]
jae 0x10086488
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 0x10086550
jb 0x10086306
cmp dword [esp + 0x60], edi
ja 0x10086550
cmp dword [esp + 0x70], ebx
jb 0x10086550
ja 0x1008631c
cmp dword [esp + 0x64], edi
jb 0x10086550
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 0x1008634c
push ebp
call fcn.101ac3b0
add esp, 4
mov ecx, dword [esp + 0x9c]
movzx eax, byte [ecx + 0x1a]
cmp byte [eax + ecx + 0x1a], 0xff
jne 0x100863ae
lea eax, [esp + 0x9c]
push eax
push ebp
call fcn.101abf60
mov esi, dword [esp + 0xbc]
add esp, 8
add esi, 0x198
nop dword [eax]
push esi
push ebp
call fcn.101abf20
add esp, 8
test eax, eax
jne 0x10086380
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 0x100863b6
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 0x10086525
jb 0x100863f8
cmp ecx, dword [esp + 0xe4]
ja 0x10086525
mov ebx, dword [esp + 0x1c]
mov ebp, ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
jmp 0x10086452
cmp dword [esp + 0x28], 1
jne 0x10086428
test esi, esi
jg 0x1008642e
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x9c]
push eax
push ebx
call fcn.101abf60
add esp, 8
mov esi, dword [esp + 0x14]
jmp 0x1008644a
push dword [esp + 0x20]
call fcn.101ac3b0
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x28], 0
jmp 0x1008644a
mov esi, ebx
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x3c], eax
jg 0x10086562
jl 0x10086470
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x18], eax
jae 0x10086562
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
jmp 0x100861f1
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 0x1008655a
jg 0x100864ae
cmp ebp, ecx
jbe 0x1008655a
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 0x100864f1
jg 0x100864e7
cmp ebp, ecx
jbe 0x100864f1
mov dword [esp + 0x74], 1
jmp 0x100864f9
mov dword [esp + 0x74], 0
cmp dword [esp + 0x70], ebx
jb 0x1008651d
ja 0x10086507
cmp dword [esp + 0x64], edi
jbe 0x1008651d
cmp dword [esp + 0x44], ebx
ja 0x1008651d
jb 0x10086515
cmp dword [esp + 0x60], edi
ja 0x1008651d
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 0x10086562
jl 0x1008653b
cmp ebp, dword [esp + 0x6c]
jae 0x10086562
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
jmp 0x10085f91
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp 0x10086529
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x28], 0
jne 0x1008664e
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
cmp ebx, esi
jne 0x10086587
cmp edi, ebp
je 0x100865bd
push 0
push edi
or esi, 0xffffffff
push ebx
push dword [esp + 0xbc]
or ebp, esi
mov dword [esp + 0x20], ebp
call fcn.100868a0
add esp, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
test edx, edx
jg 0x100865bd
jl 0x1008666e
test eax, eax
jb 0x1008666e
cmp edi, dword [esp + 0x94]
jg 0x1008664a
jl 0x100865d5
cmp ebx, dword [esp + 0x98]
jae 0x1008664a
test ebp, ebp
jg 0x10086626
jl 0x100865df
test esi, esi
jae 0x10086626
lea eax, [esp + 0x2c]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0xc0]
call fcn.10086bf0
add esp, 0x14
cmp dword [esp + 0x2c], ebx
jne 0x1008660b
cmp dword [esp + 0x30], edi
je 0x10086626
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.10085880
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 0x1008666c
jg 0x10086658
test esi, esi
jb 0x1008666c
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x24]
call fcn.101abf60
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret