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

Disassembly:
mov ecx, dword [0x90eeac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xf0]
cmp eax, dword [ecx + 8]
jbe 0x5f6233
sub esp, 0x170
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x138]
test ecx, ecx
je 0x5f5ae6
mov edx, dword [eax + 0x13c]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edx
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x5f5ade
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5f5ad5
or edx, 0x80
mov ebx, dword [esp + 0x16c]
jmp 0x5f5aec
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x5f5aec
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x15c], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.004cc160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x5f5b4f
cmp eax, 7
jne 0x5f5b37
mov eax, dword [ecx]
jmp 0x5f5b6c
cmp eax, 8
jne 0x5f5b41
movzx eax, byte [ecx]
jmp 0x5f5b6c
cmp eax, 9
jne 0x5f61f5
movzx eax, word [ecx]
jmp 0x5f5b6c
cmp eax, 0xa
jne 0x5f5b58
mov eax, dword [ecx]
jmp 0x5f5b6c
cmp eax, 0xb
jne 0x5f5b61
mov eax, dword [ecx]
jmp 0x5f5b6c
cmp eax, 0xc
jne 0x5f61f5
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp], ecx
mov edx, dword [esp + 0x160]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x1d
call fcn.004cc160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x5f5bd9
cmp eax, 7
jne 0x5f5bbd
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5f5bfd
cmp eax, 8
jne 0x5f5bc9
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x5f5bfd
cmp eax, 9
jne 0x5f61b8
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x5f5bfd
cmp eax, 0xa
jne 0x5f5be4
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5f5bfd
cmp eax, 0xb
jne 0x5f5bf0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5f5bfd
cmp eax, 0xc
jne 0x5f61b8
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
sete dl
seta bl
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebp
or edx, ebx
test dl, dl
je 0x5f5e58
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x2c]
and edx, 0xf0000000
mov ebx, dword [esp + 0x174]
movzx ebp, byte [ebx + 0x294]
shr edx, 0x1c
mov dword [esp + 0x154], edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5f5d47
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004cc160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x5f5cad
cmp eax, 7
jne 0x5f5c95
mov ecx, dword [ecx]
jmp 0x5f5cca
cmp eax, 8
jne 0x5f5c9f
movzx ecx, byte [ecx]
jmp 0x5f5cca
cmp eax, 9
jne 0x5f617b
movzx ecx, word [ecx]
jmp 0x5f5cca
cmp eax, 0xa
jne 0x5f5cb6
mov ecx, dword [ecx]
jmp 0x5f5cca
cmp eax, 0xb
jne 0x5f5cbf
mov ecx, dword [ecx]
jmp 0x5f5cca
cmp eax, 0xc
jne 0x5f617b
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.004716c8
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x78]
lea ebx, [0x6ae520]
cmp edx, ebx
jne 0x5f6165
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x5c]
call fcn.004719e0
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x174]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ef660
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x154]
mov ebp, 1
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x48], ebp
mov ebp, 1
jmp 0x5f6056
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004cc160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x5f5dae
cmp eax, 7
jne 0x5f5d96
mov ecx, dword [ecx]
jmp 0x5f5dcb
cmp eax, 8
jne 0x5f5da0
movzx ecx, byte [ecx]
jmp 0x5f5dcb
cmp eax, 9
jne 0x5f5ffd
movzx ecx, word [ecx]
jmp 0x5f5dcb
cmp eax, 0xa
jne 0x5f5db7
mov ecx, dword [ecx]
jmp 0x5f5dcb
cmp eax, 0xb
jne 0x5f5dc0
mov ecx, dword [ecx]
jmp 0x5f5dcb
cmp eax, 0xc
jne 0x5f5ffd
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.004716c4
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x78]
lea ebx, [0x6ae1a0]
cmp edx, ebx
jne 0x5f5fe7
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x5c]
call fcn.004719b8
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x174]
mov dword [esp], ecx
mov edx, dword [esp + 0x20]
sub edx, eax
mov dword [esp + 4], edx
call fcn.005ef660
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x154]
mov esi, 1
xor edi, edi
xor esi, esi
mov dword [esp + 0x4c], esi
xor esi, esi
mov dword [esp + 0x164], esi
xor esi, esi
mov dword [esp + 0x48], esi
mov esi, 1
jmp 0x5f5eac
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
add esp, 0x170
ret
mov ecx, dword [esp + 0x164]
mov dword [ecx + edx*4 - 4], ebx
lea eax, [eax + ebp + 4]
add esi, 1
mov ebx, dword [esp + 0x54]
adc ebx, 0
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x30]
mov edi, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x54], edi
cmp edi, edx
setb dl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, ebx
setbe bl
and ebx, edi
or ebx, edx
test bl, bl
je 0x5f5fc0
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x5f5ee4
mov edx, dword [0x8e2600]
xor ebx, ebx
jmp 0x5f5f17
mov edx, dword [ecx + 0x28c]
cmp eax, edx
ja 0x5f5fe0
mov ebx, dword [ecx + 0x290]
sub edx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
cmp edx, 3
jbe 0x5f5fd4
mov edi, dword [ecx + 0x288]
mov ebx, dword [ebx + edi]
xor edx, edx
test edx, edx
jne 0x5f5f95
mov edx, dword [esp + 0x48]
inc edx
mov edi, dword [esp + 0x4c]
cmp edi, edx
jae 0x5f5e7a
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x676760]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x164], eax
mov edi, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x174]
jmp 0x5f5e7a
mov eax, dword [esp + 0x164]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x180], eax
add esp, 0x170
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x164]
jmp 0x5f5e5e
mov eax, 3
mov ecx, edx
call fcn.004714e0
mov ecx, edx
call fcn.00471550
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x677be0]
mov dword [esp + 8], eax
call fcn.00409df0
lea eax, [0x68a880]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6be9e5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x67f5e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046ab50
mov ecx, dword [esp + 0x38]
mov dword [edi + edx*4 - 4], ecx
inc ebp
lea eax, [eax + ebx + 4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x174]
cmp ebp, ecx
ja 0x5f6149
mov ecx, dword [edx + 0x2ac]
add ecx, 0xfffffffc
cmp eax, ecx
jbe 0x5f6087
mov ecx, dword [0x8e2600]
mov dword [esp + 0x14c], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14c]
jmp 0x5f60c5
mov ecx, dword [edx + 0x28c]
cmp eax, ecx
ja 0x5f6160
mov ebx, dword [edx + 0x290]
sub ecx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
cmp ecx, 3
jbe 0x5f6156
mov ecx, dword [edx + 0x288]
mov ebx, dword [ebx + ecx]
xor ecx, ecx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x154]
test ecx, ecx
jne 0x5f6129
mov ecx, edx
mov edx, dword [esp + 0x48]
inc edx
cmp esi, edx
jae 0x5f603a
mov dword [esp + 0x58], ebp
mov dword [esp + 0x44], eax
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x676760]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x58]
jmp 0x5f603a
mov dword [esp + 0x178], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], esi
add esp, 0x170
ret
mov eax, dword [esp + 0x48]
mov ecx, esi
mov edx, edi
jmp 0x5f5e5e
mov eax, 3
call fcn.004714e0
call fcn.00471550
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x677be0]
mov dword [esp + 8], eax
call fcn.00409df0
lea eax, [0x68a880]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6be9e5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x67f5e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x68a880]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6be9e5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x67f5e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x68a880]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6be9e5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x67f5e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046ab50
nop
call fcn.00470060
jmp fcn.005f5a70