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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x85e787
sub esp, 0x38
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 0x94]
mov eax, ecx
and ecx, 7
sub eax, ecx
mov dword [edx + 0x94], eax
mov ebx, dword [edx + 0x90]
shr ebx, cl
mov dword [edx + 0x90], ebx
mov byte [edx + 0x8c], bl
mov ebx, dword [edx + 0x90]
shr ebx, 8
mov byte [edx + 0x8d], bl
mov ebx, dword [edx + 0x90]
shr ebx, 0x10
mov byte [edx + 0x8e], bl
mov ebx, dword [edx + 0x90]
shr ebx, 0x18
mov byte [edx + 0x8f], bl
shr eax, 3
mov ebx, dword [edx + 8]
add ebx, eax
mov ebp, dword [edx + 0xc]
mov dword [edx + 8], ebx
adc ebp, 0
mov dword [edx + 0xc], ebp
mov dword [edx + 0x94], 0
mov dword [edx + 0x90], 0
cmp eax, 4
ja 0x85e77c
mov dword [esp + 0x28], eax
mov eax, dword [edx + 4]
mov ecx, dword [edx]
lea ebx, [0x902a20]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004088f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x28]
lea ecx, [eax - 4]
neg ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + eax + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
call fcn.00496020
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov ebx, edx
add edx, ecx
mov dword [esp + 0x30], edx
mov ebp, dword [eax + 0xc]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov dword [eax + 8], edx
sar ebx, 0x1f
mov edx, dword [esp + 0x2c]
add edx, ecx
adc ebx, ebp
mov dword [eax + 0xc], ebx
test esi, esi
je 0x85e5aa
cmp dword [0xdc3060], esi
je 0x85e563
mov dword [eax + 0x68], esi
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x85e555
mov dword [eax + 0x6c], edi
add esp, 0x38
ret
lea ecx, [eax + 0x6c]
mov eax, edi
mov edi, ecx
call fcn.00456fe0
jmp 0x85e551
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], edi
mov dword [esp], esi
mov dword [esp + 4], edi
mov eax, dword [0xdc3064]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x85e59c
mov esi, dword [0xdc3088]
mov edi, dword [0xdc308c]
mov eax, dword [esp + 0x3c]
jmp 0x85e541
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
jmp 0x85e541
movzx ebp, word [eax + 0x8c]
mov esi, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
cmp word [eax + 0x8e], bp
jne 0x85e724
test si, si
jne 0x85e70f
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x48]
mov ebp, dword [eax + 0x58]
mov ecx, dword [eax + 0x54]
cmp ecx, edx
ja 0x85e777
cmp ebp, ecx
ja 0x85e770
mov dword [eax + 0x58], ecx
sub ecx, ebp
sub edx, ebp
mov esi, edx
neg edx
sar edx, 0x1f
and ebp, edx
add ebx, ebp
mov ebp, dword [eax + 0x4c]
cmp dword [eax + 0x54], ebp
jne 0x85e617
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov byte [eax + 0x5c], 1
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], esi
lea edi, [eax + 0x70]
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x85e6ff
mov dword [eax + 0x70], ebx
nop
movzx ebx, byte [eax + 0x98]
test bl, bl
je 0x85e6bb
mov ecx, dword [eax + 0x54]
mov ebx, dword [eax + 0x58]
mov ebp, ecx
sub ecx, ebx
test ecx, ecx
jle 0x85e69f
mov edx, dword [eax + 0x50]
mov esi, dword [eax + 0x48]
cmp ebp, edx
ja 0x85e769
cmp ebx, ebp
ja 0x85e760
mov dword [eax + 0x58], ebp
sub edx, ebx
mov ebp, edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [esi + ebx]
mov ebx, dword [eax + 0x4c]
cmp dword [eax + 0x54], ebx
jne 0x85e68c
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov byte [eax + 0x5c], 1
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], ebp
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x85e6f2
mov dword [eax + 0x70], edx
mov ecx, dword [0xdc3064]
mov edx, dword [0xdc3060]
mov dword [eax + 0x68], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x85e6e2
mov dword [eax + 0x6c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x85e6d2
lea ecx, [0x9b22e8]
mov dword [eax + 0x60], ecx
add esp, 0x38
ret
lea edi, [eax + 0x60]
lea eax, [0x9b22e8]
call fcn.00456fe0
jmp 0x85e6ce
lea edi, [eax + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456fe0
mov eax, edx
jmp 0x85e6bb
mov ecx, eax
mov eax, edx
call fcn.00456fe0
mov eax, ecx
jmp 0x85e69f
mov ecx, eax
mov eax, ebx
call fcn.00456fe0
mov eax, ecx
jmp 0x85e631
movzx ecx, si
mov dword [eax + 0x84], ecx
mov dword [esp], eax
call fcn.0085e7a0
add esp, 0x38
ret
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00408630
mov eax, dword [esp + 8]
lea ecx, [0xa4e620]
mov edx, dword [esp + 0x3c]
mov dword [edx + 0x68], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x85e756
mov dword [edx + 0x6c], eax
add esp, 0x38
ret
lea edi, [edx + 0x6c]
call fcn.00456fe0
jmp 0x85e752
mov eax, ebx
mov ecx, ebp
call fcn.004570c0
mov ecx, ebp
call fcn.004570a0
mov eax, ebp
call fcn.004570c0
call fcn.004570a0
mov ecx, 4
call fcn.004570d0
nop
call fcn.004557a0
jmp fcn.0085e400