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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65812ca8
add esp, 0xffffff80
xor eax, eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
xor ebp, ebp
jmp 0x658125cc
mov esi, ecx
mov ecx, edx
mov edx, ebx
mov ebx, esi
mov esi, dword [esp + 0x90]
jmp 0x658127fb
mov dword [esp + 0x70], edx
movzx edi, byte [ecx]
mov dword [esp + 0x30], edi
nop
and edi, 0x7f
lea esi, [ecx + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x30]
test ebx, 0x80
jne 0x65812622
test edi, edi
jne 0x65812608
test edx, edx
je 0x6581283f
xor ebx, ebx
jmp 0x658125c4
shr edi, 3
mov dword [esp + 8], edi
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
jmp 0x65812bd9
mov dword [esp + 0x24], ebp
mov dword [esp + 0x7c], ecx
test edi, edi
jne 0x65812637
xor ebx, ebx
xor edi, edi
jmp 0x65812b8d
mov dword [esp + 0x10], edi
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 4], ebx
xor ebx, ebx
jmp 0x6581289c
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x10]
imul ebx, edx
cmp edx, 0x19
ja 0x658126a6
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x65812688
nop
mov edi, dword [esp + 0x7c]
mov ecx, esi
lea esi, [edi - 1]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
jmp 0x65812b70
nop
mov edi, dword [esp + 0x7c]
mov ecx, esi
lea esi, [edi - 1]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
jmp 0x658129a6
sub edx, eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x65812738
lea edi, [edx + 7]
shr edi, 3
and edx, 7
mov ecx, esi
mov esi, dword [esp + 0x7c]
sub esi, edi
mov edi, esi
test edx, edx
je 0x65812712
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], edx
lea edi, [edx - 8]
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x2c], edx
movzx edx, byte [esi]
mov esi, ecx
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x2c]
and edx, edi
mov ecx, eax
shl edx, cl
mov edi, dword [esp + 0x24]
or edi, edx
nop
mov edx, dword [esp + 0x1c]
add eax, edx
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
jmp 0x6581271a
mov edx, esi
mov edi, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 3
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
jmp 0x6581294c
lea edi, [edx + 3]
shr edi, 2
and edx, 3
mov ecx, esi
mov esi, dword [esp + 0x7c]
sub esi, edi
mov edi, esi
test edx, edx
je 0x65812795
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], edx
lea edi, [edx - 4]
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x2c], edx
movzx edx, byte [esi]
and edx, 0xf
mov esi, ecx
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x2c]
and edx, edi
mov ecx, eax
shl edx, cl
mov edi, dword [esp + 0x24]
or edi, edx
nop
mov edx, dword [esp + 0x18]
add eax, edx
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
jmp 0x6581279d
mov edx, esi
mov edi, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 2
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
jmp 0x6581290f
and ecx, 3
test ecx, ecx
jbe 0x658127e7
cmp eax, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
mov esi, 1
shl esi, cl
dec esi
and esi, edx
mov edx, ecx
mov ecx, eax
shl esi, cl
and esi, ebx
or edi, esi
add eax, edx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
mov edx, ebp
mov ebx, dword [esp + 0x70]
mov ebp, edi
jmp 0x658125c4
add eax, 0xfffffff8
cmp eax, 8
jb 0x658125d8
cmp esi, 1
jne 0x65812814
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x658127f8
mov edi, ebp
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebp, edi
shr edi, 4
and edi, 0xf
or edi, 0xf0
xchg edi, eax
mov byte [ebx + 1], al
xchg edi, eax
nop
shr ebp, 8
add ebx, 2
jmp 0x658127f8
mov edx, dword [esp + 0x90]
cmp edx, 1
jne 0x65812867
mov ebx, ecx
mov edx, dword [esp + 0x8c]
sub ecx, edx
lea ecx, [eax + ecx*8]
mov edx, eax
neg eax
and eax, 7
add eax, edx
jmp 0x65812ca2
mov ebx, ecx
mov edx, dword [esp + 0x8c]
sub ecx, edx
lea ecx, [eax + ecx*4]
mov edx, eax
neg eax
and eax, 3
add eax, edx
jmp 0x65812c87
add ecx, 7
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x10]
mov esi, ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 4]
cmp edx, 0x20
sbb ebp, ebp
movzx edi, byte [esi]
mov dword [esp + 0x30], edi
nop
and edi, 0x7f
mov ecx, edx
shl edi, cl
and edi, ebp
or ebx, edi
lea ebp, [esi + 1]
mov esi, dword [esp + 0x30]
test esi, 0x80
jne 0x65812883
jmp 0x6581264a
cmp eax, 0x20
sbb esi, esi
movzx ebp, byte [edx]
and ebp, 0xf
mov ecx, eax
shl ebp, cl
and ebp, esi
or edi, ebp
nop
mov ebp, edi
and edi, 0xf
or edi, 0xf0
mov esi, dword [esp + 0x64]
xchg edi, eax
mov byte [esi], al
xchg edi, eax
dec ebx
nop
shr ebp, 4
inc edx
inc esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x64], esi
mov edi, ebp
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x90]
test ebx, ebx
ja 0x658128cc
jmp 0x658127bb
cmp eax, 0x20
sbb esi, esi
movzx ebp, byte [edx]
mov ecx, eax
shl ebp, cl
and ebp, esi
or edi, ebp
nop
mov ebp, dword [esp + 0x68]
xchg edi, eax
mov byte [ebp], al
xchg edi, eax
dec ebx
nop
shr edi, 8
inc edx
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x78]
test ebx, ebx
ja 0x65812918
and ecx, 7
test ecx, ecx
jbe 0x6581297c
cmp eax, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
mov esi, 1
shl esi, cl
dec esi
and esi, edx
mov edx, ecx
mov ecx, eax
shl esi, cl
and esi, ebx
or edi, esi
add eax, edx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x68]
jmp 0x658127eb
mov ebp, dword [esp]
shl ebp, 4
movzx ecx, byte [esi]
and ecx, 0xf
or ebp, ecx
nop
add eax, 4
dec esi
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov ebp, dword [esp + 0x78]
cmp eax, edx
jb 0x65812985
mov esi, dword [esp]
cmp eax, edx
jbe 0x658129cb
sub eax, edx
cmp eax, 0x20
sbb ebp, ebp
mov ecx, eax
shr esi, cl
and esi, ebp
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
mov eax, edx
cmp eax, 1
jne 0x658129e5
cmp esi, 1
jne 0x658129e1
mov eax, 0x19
mov esi, 0x1ffffff
jmp 0x658129f4
mov eax, ebx
jmp 0x658129f4
lea edx, [eax + eax]
cmp edx, 0x19
ja 0x658129f4
mov edx, eax
jmp 0x65812b0b
mov dword [esp], esi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
jmp 0x65812a27
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov esi, dword [esp]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x90]
cmp eax, ebx
ja 0x65812a55
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x30]
cmp ebp, 0x20
sbb ebx, ebx
mov ecx, ebp
shl esi, cl
and esi, ebx
or edx, esi
lea ebx, [eax + ecx]
mov ebp, dword [esp + 0x90]
cmp ebp, 1
je 0x65812ae2
jmp 0x65812ace
test ebx, ebx
jbe 0x65812aa0
mov dword [esp + 0x74], edi
cmp ebx, 0x20
mov eax, ebp
sbb ebp, ebp
mov edi, dword [esp + 0x30]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x2c], edi
mov ecx, ebx
mov edi, 1
shl edi, cl
and edi, ebp
lea ebp, [edi - 1]
and esi, ebp
mov ecx, dword [esp + 0x30]
shl esi, cl
mov ebp, dword [esp + 0x2c]
and esi, ebp
or edx, esi
add ebx, ecx
mov ecx, dword [esp + 0x90]
mov ebp, eax
mov edi, dword [esp + 0x74]
jmp 0x65812aa4
mov ebx, dword [esp + 0x30]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov ecx, edi
mov ebp, edx
mov edx, dword [esp + 0x78]
jmp 0x658125c4
mov esi, edx
and edx, 0xf
or edx, 0xf0
mov byte [edi], dl
nop
shr esi, 4
add ebx, 0xfffffffc
inc edi
mov edx, esi
cmp ebx, 4
jae 0x65812ab7
jmp 0x65812a0d
mov byte [edi], dl
nop
shr edx, 8
add ebx, 0xfffffff8
inc edi
cmp ebx, 8
jae 0x65812ad8
jmp 0x65812a0d
mov dword [esp + 0x28], esi
sbb ebp, ebp
mov ecx, eax
shl esi, cl
and esi, ebp
mov ebp, dword [esp + 0x28]
or esi, ebp
add eax, eax
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
cmp eax, 0x20
jbe 0x65812aec
test edx, edx
je 0x65812b4d
mov eax, 0x19
mov ebp, edx
xor edx, edx
div ebp
imul eax, ebp
cmp eax, 0x20
sbb edx, edx
mov dword [esp + 0x30], edx
mov ecx, eax
mov edx, 1
shl edx, cl
mov ebp, dword [esp + 0x30]
and edx, ebp
dec edx
and esi, edx
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
jmp 0x658129f4
call fcn.65834c20
mov ebp, dword [esp]
shl ebp, 8
movzx ecx, byte [esi]
or ebp, ecx
nop
add eax, 8
dec esi
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov ebp, dword [esp + 0x78]
cmp eax, edx
jb 0x65812b52
mov esi, dword [esp]
jmp 0x658129ad
lea edi, [ecx + 7]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x70]
cmp edi, 0x20
sbb edx, edx
movzx ebp, byte [esi]
mov dword [esp + 0x30], ebp
nop
and ebp, 0x7f
mov ecx, edi
shl ebp, cl
and edx, ebp
or ebx, edx
lea edx, [esi + 1]
mov ebp, dword [esp + 0x30]
test ebp, 0x80
jne 0x65812b7c
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edi, ebx
mov edx, dword [esp + 0x70]
jmp 0x65812637
inc edx
inc esi
mov dword [esp + 0x14], edx
mov ecx, ebx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
cmp edx, edi
jae 0x65812c47
mov dword [esp + 0x6c], ecx
movzx ebx, byte [esi]
mov ecx, eax
shl ebx, cl
or ebp, ebx
nop
mov ebx, dword [esp + 0x90]
cmp ebx, 1
jne 0x65812c0a
mov ebx, dword [esp + 0x6c]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x65812bc9
mov dword [esp + 0x2c], ebp
and ebp, 0xf
or ebp, 0xf0
mov edi, dword [esp + 0x6c]
xchg ebp, eax
mov byte [edi], al
xchg ebp, eax
mov ebp, dword [esp + 0x2c]
shr ebp, 4
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [edi + 1], al
xchg ebp, eax
nop
mov ebp, dword [esp + 0x2c]
shr ebp, 8
add edi, 2
mov ebx, edi
mov edi, dword [esp + 8]
jmp 0x65812bc9
and ebx, 7
test ebx, ebx
jbe 0x65812c5f
movzx edx, byte [esi]
mov edi, ecx
mov ecx, eax
shl edx, cl
or ebp, edx
nop
add eax, ebx
inc esi
jmp 0x65812c61
mov edi, ecx
mov edx, esi
mov ebx, dword [esp + 0x70]
mov ecx, edi
jmp 0x658125c4
mov edx, ebp
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
add eax, 0xfffffffc
nop
shr edx, 4
inc ebx
mov ebp, edx
test eax, eax
ja 0x65812c6e
mov dword [esp + 0x94], ecx
sub esp, 0xffffff80
ret
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
add eax, 0xfffffff8
nop
shr ebp, 8
inc ebx
test eax, eax
ja 0x65812c96
jmp 0x65812c8b
call fcn.6585d300
jmp fcn.65812590