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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x600b2c
sub esp, 0x10c
lea edi, [esp + 0x3c]
xor eax, eax
call fcn.0045f718
lea edi, [esp + 0x8c]
call fcn.0045f700
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
xor eax, eax
jmp 0x600585
mov dword [esp + ebx*4 + 0x3c], edx
lea eax, [ebx + 1]
mov edx, esi
cmp eax, 4
jge 0x6005f0
mov ebx, eax
shl eax, 2
cmp eax, ecx
jae 0x600b26
lea ebp, [edx + ebx*4]
movzx ebp, byte [ebp]
mov esi, edx
lea edx, [eax + 1]
cmp edx, ecx
jae 0x600b1f
shl ebp, 0x18
lea edx, [esi + ebx*4 + 1]
movzx edx, byte [edx]
shl edx, 0x10
or edx, ebp
lea ebp, [eax + 2]
cmp ebp, ecx
jae 0x600b18
lea ebp, [esi + ebx*4 + 2]
movzx ebp, byte [ebp]
shl ebp, 8
or ebp, edx
add eax, 3
cmp eax, ecx
jae 0x600b13
lea edx, [esi + ebx*4 + 3]
movzx edx, byte [edx]
or edx, ebp
cmp ebx, 8
jb 0x60057c
jmp 0x600b07
mov dword [esp + 0x2c], 0
mov dword [esp + 0x2c], 0x5040706
xor eax, eax
xor ecx, ecx
jmp 0x6009e7
mov dword [esp + ebx*4 + 0x3c], edx
mov ecx, dword [esp + 0x18]
inc ecx
mov edx, edi
mov ebx, esi
mov ebp, dword [esp + 0x24]
cmp ecx, 4
jge 0x600805
mov dword [esp + 0x35], 0
mov dword [esp + 0x38], 0
jae 0x600afb
mov esi, ebx
lea ebx, [ecx + ecx*2]
lea ebx, [ecx + ebx*2]
mov edi, edx
lea edx, [esp + ebx + 0x5c]
lea ebp, [esp + 0x35]
cmp ebp, edx
je 0x60065f
mov edx, dword [esp + ebx + 0x5c]
mov ebx, dword [esp + ebx + 0x5f]
mov dword [esp + 0x35], edx
mov dword [esp + 0x38], ebx
movzx edx, byte [esp + 0x36]
cmp edx, 8
jae 0x600aef
mov edx, dword [esp + edx*4 + 0x3c]
movzx ebx, byte [esp + 0x37]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600ae3
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
and ebp, 3
shl ebp, 3
add ebp, 0xffffffe8
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb edx, edx
mov ebx, dword [esp + ebx*4 + 0x3c]
mov ecx, ebp
shr ebx, cl
and ebx, edx
and ebx, 0xff
mov edx, dword [esp + 0x10]
lea ebp, [0x99e100]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x38]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600ad7
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
and ebx, ebp
and ebx, 0xff
lea ebp, [0x99e500]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x39]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600acb
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
and ebx, ebp
and ebx, 0xff
lea ebp, [0x99e900]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x3a]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600abf
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
and ebx, ebp
and ebx, 0xff
lea ebp, [0x99ed00]
xor edx, dword [ebp + ebx*4]
mov ebx, dword [esp + 0x18]
movzx ebp, byte [esp + ebx + 0x2c]
cmp ebp, 8
jae 0x600ab3
movzx ebx, byte [esp + 0x3b]
mov byte [esp + 0xb], bl
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600aa7
mov dword [esp + 0x10], edx
movzx edx, byte [esp + 0xb]
and edx, 3
shl edx, 3
add edx, 0xffffffe8
neg edx
mov byte [esp + 0xb], dl
cmp dl, 0x20
sbb edx, edx
mov dword [esp + 0x20], edx
shl ebp, 0xa
lea edx, [0x99d100]
add ebp, edx
mov ebx, dword [esp + ebx*4 + 0x3c]
movzx ecx, byte [esp + 0xb]
shr ebx, cl
mov edx, dword [esp + 0x20]
and ebx, edx
and ebx, 0xff
mov edx, dword [esp + 0x10]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x35]
cmp ebx, 8
jb 0x600609
jmp 0x600a9b
mov ecx, dword [esp + 0x14]
xor esi, esi
jmp 0x600822
mov dword [esp + edx*4 + 0x8c], ebp
inc esi
lea ecx, [edx + 1]
mov edx, dword [esp + 0x28]
mov ebx, edi
mov ebp, dword [esp + 0x24]
cmp esi, 4
jge 0x6009c4
mov dword [esp + 0x30], 0
mov byte [esp + 0x34], 0
jae 0x600a8f
mov edi, ebx
lea ebx, [esi + esi*4]
lea edx, [esp + ebx + 0x78]
lea ebp, [esp + 0x30]
cmp ebp, edx
je 0x600860
mov edx, dword [esp + ebx + 0x78]
movzx ebx, byte [esp + ebx + 0x7c]
mov dword [esp + 0x30], edx
mov byte [esp + 0x34], bl
movzx edx, byte [esp + 0x30]
mov ebx, edx
shr dl, 2
movzx edx, dl
cmp edx, 8
jae 0x600a83
mov dword [esp + 0x1c], ecx
and ebx, 3
shl ebx, 3
add ebx, 0xffffffe8
neg ebx
cmp bl, 0x20
sbb ebp, ebp
mov edx, dword [esp + edx*4 + 0x3c]
mov ecx, ebx
shr edx, cl
and edx, ebp
and edx, 0xff
lea ebx, [0x99e100]
mov edx, dword [ebx + edx*4]
movzx ebx, byte [esp + 0x31]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600a77
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
and ebx, ebp
and ebx, 0xff
lea ebp, [0x99e500]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x32]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600a6b
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
and ebx, ebp
and ebx, 0xff
lea ebp, [0x99e900]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x33]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600a5f
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
and ebx, ebp
and ebx, 0xff
lea ebp, [0x99ed00]
xor edx, dword [ebp + ebx*4]
movzx ebx, byte [esp + 0x34]
mov ebp, ebx
shr bl, 2
movzx ebx, bl
cmp ebx, 8
jae 0x600a53
mov dword [esp + 0xc], edx
and ebp, 3
shl ebp, 3
lea ecx, [ebp - 0x18]
neg ecx
cmp cl, 0x20
sbb ebp, ebp
mov dword [esp + 0x20], ebp
lea edx, [esi + 4]
shl edx, 0xa
lea ebp, [0x99d100]
add edx, ebp
mov ebx, dword [esp + ebx*4 + 0x3c]
shr ebx, cl
mov ebp, dword [esp + 0x20]
and ebx, ebp
and ebx, 0xff
mov ebp, dword [esp + 0xc]
xor ebp, dword [edx + ebx*4]
mov edx, dword [esp + 0x1c]
cmp edx, 0x20
jb 0x60080d
jmp 0x600a47
inc ebp
cmp edx, ebp
jle 0x6009e6
add ebx, 0x30
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], ecx
lea edi, [esp + 0x5c]
mov esi, ebx
call fcn.0045fbb8
xor ecx, ecx
jmp 0x60061a
inc eax
cmp eax, 2
jge 0x600a04
mov edx, dword [0x9cb844]
mov ebx, dword [0x9cb840]
test edx, edx
jle 0x6009e6
mov dword [esp + 0x28], edx
xor ebp, ebp
jmp 0x6009cc
mov edx, dword [esp + 0x110]
xor eax, eax
jmp 0x600a2a
test byte [edx], al
mov ebx, dword [esp + eax*4 + 0x8c]
mov dword [edx + eax*4], ebx
mov ebx, dword [esp + eax*4 + 0xcc]
and ebx, 0x1f
mov byte [edx + eax + 0x40], bl
inc eax
cmp eax, 0x10
jge 0x600a36
cmp eax, 0x20
jb 0x600a0f
jmp 0x600a3d
add esp, 0x10c
ret
mov ecx, 0x20
call fcn.0045f4f0
mov eax, edx
mov ecx, 0x20
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, edx
mov ecx, 8
call fcn.0045f4f0
mov eax, esi
mov ecx, 4
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebp
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
mov eax, edx
mov ecx, 8
call fcn.0045f4f0
mov eax, ecx
mov ecx, 4
call fcn.0045f4f0
mov eax, ebx
mov ecx, 8
call fcn.0045f4f0
call fcn.0045f4f0
mov eax, ebp
call fcn.0045f4f0
mov eax, edx
call fcn.0045f4f0
call fcn.0045f4f0
nop
call fcn.0045df10
jmp fcn.00600530