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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x59214d
sub esp, 0x84
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.0046d00e
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
shl edx, 8
shr ecx, 0x18
or ecx, edx
mov dword [esp + 0x30], ecx
nop
cmp cl, 0x64
jb 0x5919fa
movzx edx, cl
imul edx, edx, 0x148
shr edx, 0xf
movzx eax, dl
cmp eax, 0x10
jae 0x592142
mov edx, dword [esp + 0xa0]
inc edx
lea ebx, [0x6d39e2]
movzx ebp, byte [ebx + eax]
mov ebx, dword [esp + 0xa4]
cmp ebx, edx
jb 0x5919aa
mov eax, dword [esp + 0x9c]
jmp 0x5919f0
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx ebp, byte [esp + 0x23]
mov ebx, ecx
mov ecx, dword [esp + 0x30]
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
jmp 0x591a0f
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
cmp cl, 0xa
jb 0x591aa7
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx esi, al
xchg ebp, eax
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub ebp, esi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x592136
inc edx
mov esi, edx
lea edx, [0x6d39e2]
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x591a9d
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx ebp, byte [esp + 0x23]
mov esi, edx
lea edx, [0x6d39e2]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x591aaf
mov esi, edx
lea edx, [0x6d39e2]
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x59212a
lea ecx, [esi + 1]
movzx ebp, byte [edx + ebp]
cmp ebx, ecx
jae 0x591b19
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x6d39e2]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [ecx + eax - 1], bl
xchg ebp, ebx
inc ecx
cmp ebx, ecx
jae 0x591b5a
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x6d39e2]
mov dword [esp + 0x2c], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x88]
call fcn.0046d00e
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
shl ebp, 0x10
shr ecx, 0x10
or ecx, ebp
mov dword [esp + 0x30], ecx
nop
cmp cl, 0x64
jb 0x591c05
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x59211e
mov esi, ebx
mov ebx, dword [esp + 0x2c]
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x591bfb
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [0x6d39e2]
movzx ebp, byte [esp + 0x23]
mov esi, ecx
mov ecx, dword [esp + 0x30]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
jmp 0x591c0b
mov esi, ebx
mov ebx, dword [esp + 0x2c]
cmp cl, 0xa
jb 0x591c97
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx edi, al
xchg ebp, eax
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebp, edi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x592112
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x591c8f
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x6d39e2]
movzx ebp, byte [esp + 0x23]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x592106
lea ecx, [ebx + 1]
movzx ebx, byte [edx + ebp]
cmp esi, ecx
jae 0x591cff
mov byte [esp + 0x23], bl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [0x6d39e2]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + eax - 1], bl
inc ecx
cmp esi, ecx
jae 0x591d3c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [0x6d39e2]
mov dword [esp + 0x28], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x48]
mov ebx, esi
lea esi, [esp + 0x88]
call fcn.0046d00e
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
shr ecx, 8
shl ebp, 0x18
or ebp, ecx
mov dword [esp + 0x30], ebp
nop
xchg ebp, eax
cmp al, 0x64
xchg ebp, eax
jb 0x591de5
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
imul ecx, ecx, 0x148
shr ecx, 0xf
movzx ecx, cl
cmp ecx, 0x10
jae 0x5920fa
mov esi, ebp
mov ebp, dword [esp + 0x28]
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x591ddf
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x6d39e2]
mov ebx, esi
mov esi, dword [esp + 0x30]
mov byte [ebp + eax - 1], cl
jmp 0x591deb
mov esi, ebp
mov ebp, dword [esp + 0x28]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jb 0x591e6d
xchg esi, eax
movzx ecx, al
xchg esi, eax
imul ecx, ecx, 0x19a
shr ecx, 0xc
movzx edi, cl
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ecx, edi
movzx ecx, cl
cmp ecx, 0x10
jae 0x5920ee
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x591e69
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x6d39e2]
mov esi, dword [esp + 0x30]
mov byte [ebp + eax - 1], cl
xchg esi, eax
movzx ecx, al
xchg esi, eax
imul ecx, ecx, 0x19a
shr ecx, 0xc
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub esi, ecx
xchg esi, eax
movzx ecx, al
xchg esi, eax
cmp ecx, 0x10
jae 0x5920e2
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x591ed6
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x6d39e2]
mov byte [ebp + eax - 1], cl
lea ecx, [ebp + 1]
cmp ebx, ecx
jae 0x591f15
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x6d39e2]
mov dword [esp + 0x24], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x34]
lea esi, [esp + 0x88]
call fcn.0046d00e
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
nop
cmp cl, 0x64
jb 0x591fb0
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x5920d6
mov esi, dword [esp + 0x24]
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x591fa6
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x6d39e2]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x591fb4
mov esi, dword [esp + 0x24]
cmp cl, 0xa
jb 0x592040
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx edi, al
xchg ebp, eax
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebp, edi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x5920ca
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x592038
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x6d39e2]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x5920be
lea ecx, [esi + 1]
movzx edx, byte [edx + ebp]
cmp ebx, ecx
jae 0x59209e
mov byte [esp + 0x23], dl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0x23]
mov byte [ecx + eax - 1], dl
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebx
add esp, 0x84
ret
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ecx
mov ecx, 0x10
call fcn.0046c910
mov eax, ecx
mov ecx, 0x10
call fcn.0046c910
mov eax, ecx
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov eax, ebp
mov ecx, 0x10
call fcn.0046c910
mov ecx, 0x10
call fcn.0046c910
nop
call fcn.0046b490
jmp fcn.00591920