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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x168]
cmp eax, dword [ecx + 8]
jbe 0x503b0e
sub esp, 0x1e8
mov eax, dword [esp + 0x1ec]
test byte [eax], al
mov ebx, dword [eax + 0x1044]
test ebx, ebx
je 0x5039e4
mov ecx, dword [esp + 0x1f0]
cmp ecx, 6
jge 0x502977
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e08]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
shl ebx, 1
add ebx, 4
cmp ecx, ebx
jg 0x502956
test ecx, 1
jne 0x502956
cmp ecx, 0x80
ja 0x503b03
mov dword [esp], eax
lea edx, [eax + 0x32d0]
mov dword [esp + 0x1e4], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], pe_nt_image_headers32
call fcn.005005e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x5039cf
mov ebx, dword [esp + 0x1ec]
movzx ebp, byte [ebx + 0x32d0]
mov eax, ebp
shl ebp, 1
mov ecx, ebp
add ebp, 4
mov edx, ebx
mov ebx, dword [esp + 0x1f0]
cmp ebx, ebp
jne 0x5039ae
mov dword [esp + 0x98], ecx
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
xor ebx, ebx
xor ebp, ebp
jmp 0x502bad
mov ecx, dword [esp + 0x1e0]
add ecx, 0xc
mov dword [esp + 0x50], ebx
mov ebp, ecx
mov ecx, dword [esp + 0x98]
movzx ebx, byte [esp + 0x23]
cmp byte [ebp + 8], bl
jne 0x502a59
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1e0], ebp
mov ebx, dword [esp + 0x50]
inc ebx
mov ebp, dword [esp + 0x94]
cmp ebp, ebx
jg 0x502a22
mov ebx, dword [esp + 0x68]
test ebx, ebx
jl 0x502c62
cmp esi, 4
jae 0x503adf
lea ebp, [esi + esi*2]
mov dword [esp + 0x94], ebp
mov byte [esp + ebp + 0xb4], bl
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x9c]
jmp 0x502abc
mov ebp, dword [esp + 0x4c]
inc ebp
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x94]
mov ebp, dword [esp + 0x4c]
cmp esi, ebp
jle 0x502afe
cmp ebp, 4
jae 0x503ad3
lea ebp, [ebp + ebp*2]
lea ebp, [esp + ebp + 0xb4]
cmp byte [ebp], bl
jne 0x502aac
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e28]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
cmp ebx, 4
jae 0x503ac7
lea ebx, [ebx + ebx*2]
mov ebp, dword [edx + ebx*4 + 0x1054]
imul ebp, dword [edx + ebx*4 + 0x1050]
mov ebx, dword [esp + 0x34]
add ebx, ebp
lea ebp, [edi + 2]
cmp ebp, 0x80
jae 0x503abb
lea ebp, [edx + esi*2 + 0x32d2]
mov dword [esp + 0x1dc], ebp
mov edi, ebx
movzx ebx, byte [ebp]
shr bl, 4
mov ebp, dword [esp + 0x94]
mov byte [esp + ebp + 0xb5], bl
cmp bl, 3
ja 0x502c41
movzx ebp, byte [edx + 0x1048]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x502b72
cmp bl, 1
ja 0x502c41
mov ebx, dword [esp + 0x1dc]
movzx ebx, byte [ebx]
and ebx, 0xf
mov ebp, dword [esp + 0x94]
mov byte [esp + ebp + 0xb6], bl
cmp bl, 3
ja 0x502c20
movzx ebp, byte [edx + 0x1048]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x502ba8
cmp bl, 1
ja 0x502c20
lea ebx, [esi + 1]
mov ebp, edi
cmp ebx, eax
jge 0x502c8d
mov esi, ebx
shl ebx, 1
mov edi, ebx
inc ebx
cmp ebx, 0x80
jae 0x503af7
mov dword [esp + 0x34], ebp
lea ebx, [edx + esi*2 + 0x32d1]
movzx ebx, byte [ebx]
mov ebp, dword [edx + 0x1044]
cmp ebp, 4
ja 0x503aeb
test ebp, ebp
jle 0x502c83
mov byte [esp + 0x23], bl
mov dword [esp + 0x94], ebp
lea ebp, [edx + 0x1050]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, 0xffffffff
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xac]
jmp 0x502a3e
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e38]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e30]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e20]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov ebx, 0xffffffff
jmp 0x502a74
cmp dword [edx + 0x1044], 1
jle 0x502c9f
cmp ebp, 0xa
jg 0x50398d
movzx ebx, byte [edx + 0x1049]
test bl, bl
je 0x50397b
lea ebx, [ecx + 1]
cmp ebx, 0x80
jae 0x503aaf
lea ebx, [edx + eax*2 + 0x32d1]
movzx ebx, byte [ebx]
lea ebp, [ecx + 2]
cmp ebp, 0x80
jae 0x503aa3
lea ebp, [edx + eax*2 + 0x32d2]
movzx ebp, byte [ebp]
mov esi, ebp
lea ebp, [ecx + 3]
cmp ebp, 0x80
jae 0x503a97
lea ebp, [edx + eax*2 + 0x32d3]
movzx ebp, byte [ebp]
test ebx, ebx
jne 0x502d09
test esi, esi
jne 0x50395a
cmp esi, ebx
jl 0x50395a
cmp esi, 0x40
jge 0x50395a
test ebx, ebx
je 0x502d27
cmp eax, 1
jne 0x503939
mov ecx, ebp
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
and ecx, 0xf
test ebp, ebp
je 0x503932
mov edi, edx
lea edx, [ecx + 1]
cmp ebp, edx
jne 0x503911
mov dword [esp + 0x28], ebx
mov dword [esp + 0x7c], ebp
mov edx, dword [edi + 0x1050]
mov dword [esp + 0x64], edx
mov ebx, dword [edi + 0x1054]
mov dword [esp + 0x30], ebx
mov ebp, dword [edi + 0x1020]
shl edx, 3
mov ebx, dword [esp + 0x64]
lea ebx, [ebp + ebx*8 - 1]
test edx, edx
je 0x503a92
mov dword [esp + 0x98], eax
mov eax, ebx
mov ebp, edx
cmp ebp, 0xffffffff
je 0x502d95
cdq
idiv ebp
jmp 0x502d97
neg eax
mov edx, dword [edi + 0x1024]
mov ebx, dword [esp + 0x30]
mov ebp, ebx
shl ebx, 3
lea edx, [edx + ebp*8 - 1]
test ebx, ebx
je 0x503a8d
mov dword [esp + 0x40], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x24], esi
mov ebp, eax
mov eax, edx
cmp ebx, 0xffffffff
je 0x502dcc
cdq
idiv ebx
jmp 0x502dce
neg eax
mov dword [esp + 0x38], eax
mov edx, dword [edi + 0x1028]
test edx, edx
je 0x5038d7
movzx edx, byte [edi + 0x1049]
test dl, dl
je 0x5038cb
mov edx, dword [esp + 0x98]
xor ebx, ebx
jmp 0x502e06
inc ebx
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
cmp ebx, edx
jge 0x502ef0
cmp ebx, 4
jae 0x503a81
lea ebp, [ebx + ebx*2]
movzx ebp, byte [esp + ebp + 0xb4]
cmp ebp, 4
jae 0x503a75
lea ebp, [ebp + ebp*2]
mov dword [esp + 0x94], ebp
mov edx, dword [edi + ebp*4 + 0x1080]
lea ebp, [edi + ebp*4 + 0x1080]
test edx, edx
jne 0x502dfa
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x1d8], ebp
mov ecx, dword [esp + 0x40]
imul eax, ecx
mov ebx, dword [esp + 0x94]
imul eax, dword [edi + ebx*4 + 0x1050]
imul eax, dword [edi + ebx*4 + 0x1054]
mov dword [esp + 0x90], eax
lea ebp, [0x636560]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00442930
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1ec]
mov dword [ebx + ecx*4 + 0x1084], edx
mov dword [ebx + ecx*4 + 0x1088], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x502ee2
mov dword [ebx + ecx*4 + 0x1080], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x1ec]
jmp 0x502dfa
mov edi, dword [esp + 0x1d8]
call fcn.0045ace0
jmp 0x502ec6
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov ebx, edi
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0045af50
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov ecx, dword [esp + 0x38]
xor edi, edi
xor eax, eax
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, 0xffffffd0
mov byte [esp + 0x22], al
xor eax, eax
jmp 0x503899
mov ecx, dword [esp + 0x54]
inc ecx
mov edx, dword [esp + 0x1ec]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1ec]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x74], eax
xor eax, eax
mov ecx, dword [esp + 0x38]
imul ebx, edx
mov ebp, dword [esp + 0x54]
cmp ebp, ebx
jge 0x5035fc
mov ebx, dword [esp + 0x98]
cmp ebx, 1
je 0x503581
mov ebx, dword [esp + 0x44]
imul edx, ebx
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x503a58
mov dword [esp + 0x88], edx
mov eax, ebp
cmp ebx, 0xffffffff
je 0x502fe4
cdq
idiv ebx
jmp 0x502fe6
xor edx, edx
mov ebx, dword [esp + 0x88]
add edx, ebx
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x2c]
imul ebx, edi
mov dword [esp + 0x88], ebx
mov eax, ebp
mov ebx, dword [esp + 0x60]
cmp ebx, 0xffffffff
je 0x503011
cdq
idiv ebx
jmp 0x503013
neg eax
mov edx, dword [esp + 0x88]
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x74], eax
mov ebp, dword [esp + 0x1ec]
movzx ebx, byte [ebp + 0x1049]
test bl, bl
je 0x503562
mov ebx, dword [esp + 0x8c]
mov edx, dword [ebp + ebx*4 + 0x1080]
mov dword [esp + 0x1d4], edx
mov ebx, dword [ebp + ebx*4 + 0x1084]
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
imul ebp, edx
mov edx, dword [esp + 0x60]
imul ebp, edx
mov edx, dword [esp + 0x70]
add ebp, edx
cmp ebx, ebp
jbe 0x503a4a
shl ebp, 8
mov ebx, dword [esp + 0x1d4]
add ebx, ebp
mov ebp, edi
lea edi, [esp + 0xd0]
mov esi, ebx
call fcn.0045b220
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x5034bc
mov ecx, ebx
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x5033af
mov esi, ebx
mov edi, ebp
mov ebp, dword [esp + 0x24]
cmp ebx, ebp
jg 0x5033a3
mov edx, dword [esp + 0x1ec]
movzx ebp, word [edx + 0x104e]
test bp, bp
jbe 0x5031ab
lea ebx, [ebp - 1]
mov word [edx + 0x104e], bx
movzx ebx, byte [edx + 0x1049]
test bl, bl
je 0x50314b
mov ebx, dword [esp + 0x8c]
mov ebp, dword [edx + ebx*4 + 0x1084]
mov ebx, dword [edx + ebx*4 + 0x1080]
mov dword [esp + 0x1d4], ebx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
imul edx, ebx
mov ebx, dword [esp + 0x60]
imul edx, ebx
mov ebx, dword [esp + 0x70]
add edx, ebx
cmp edx, ebp
jae 0x503a05
shl edx, 8
mov ebx, dword [esp + 0x1d4]
add edx, ebx
mov ebx, edi
mov edi, edx
mov ebp, esi
lea esi, [esp + 0xd0]
call fcn.0045b220
jmp 0x502f63
mov dword [esp], edx
lea eax, [esp + 0xd0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x10], ecx
call fcn.005041a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x503196
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x74]
jmp 0x502f63
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], ecx
add esp, 0x1e8
ret
mov ebp, dword [esp + 0x94]
movzx ebp, byte [esp + ebp + 0xb6]
cmp ebp, 4
jae 0x503a26
imul ebp, ebp, 0x3c4
lea ebp, [ebp + edx + 0x1fc0]
mov dword [esp + 0x1d0], ebp
jmp 0x5031f8
inc ebx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1ec]
mov ebp, dword [esp + 0x1d0]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x24]
cmp ebx, ebp
jg 0x5032d6
mov dword [esp + 0x84], ebx
mov dword [esp], edx
mov eax, dword [esp + 0x1d0]
mov dword [esp + 4], eax
call fcn.004ff790
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x50338e
mov edx, ecx
shr cl, 4
and edx, 0xf
test dl, dl
je 0x5032f2
movzx ebx, cl
mov ebp, dword [esp + 0x84]
add ebx, ebp
mov ebp, dword [esp + 0x24]
cmp ebx, ebp
jg 0x5032d6
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x1ec]
mov dword [esp], eax
mov byte [esp + 4], dl
call fcn.004ff1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x5032c1
mov edx, dword [esp + 0x78]
cmp edx, 0x20
sbb ebx, ebx
mov eax, ecx
mov ecx, edx
shl eax, cl
and eax, ebx
mov ebx, dword [esp + 0x84]
cmp ebx, 0x40
jae 0x503a1a
lea ebp, [0x7e6280]
mov ebp, dword [ebp + ebx*4]
cmp ebp, 0x40
jae 0x503a0e
mov dword [esp + ebp*4 + 0xd0], eax
jmp 0x5031d9
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edx
add esp, 0x1e8
ret
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1ec]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
jmp 0x5030e1
cmp cl, 0xf
jne 0x50330c
mov ebp, dword [esp + 0x84]
lea ebx, [ebp + 0xf]
mov ecx, dword [esp + 0x78]
mov edx, ecx
jmp 0x5031d9
cmp cl, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
mov edx, dword [esp + 0x1ec]
mov word [edx + 0x104e], bx
test cl, cl
jne 0x503341
movzx ebx, word [edx + 0x104e]
dec ebx
mov word [edx + 0x104e], bx
mov ebp, dword [esp + 0x24]
jmp 0x5032d6
mov dword [esp], edx
movzx eax, cl
mov dword [esp + 4], eax
call fcn.004ffb50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x503379
mov edx, dword [esp + 0x1ec]
movzx ebx, word [edx + 0x104e]
or ebx, ecx
mov word [edx + 0x104e], bx
jmp 0x50332c
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edx
add esp, 0x1e8
ret
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edx
add esp, 0x1e8
ret
mov edx, dword [esp + 0x1ec]
jmp 0x5031ab
mov esi, dword [esp + 0x94]
movzx edi, byte [esp + esi + 0xb5]
cmp edi, 4
jae 0x503a32
mov eax, dword [esp + 0x1ec]
mov dword [esp], eax
imul ecx, edi, 0x3c4
lea ecx, [eax + ecx + 0x10b0]
mov dword [esp + 4], ecx
call fcn.004ff790
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x5034a7
cmp cl, 0x10
ja 0x503486
mov eax, dword [esp + 0x1ec]
mov dword [esp], eax
mov byte [esp + 4], cl
call fcn.004ff1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x503471
mov eax, dword [esp + 0x90]
add ecx, dword [esp + eax*4 + 0xc0]
mov dword [esp + eax*4 + 0xc0], ecx
mov edx, dword [esp + 0x78]
cmp edx, 0x20
sbb ebx, ebx
mov ebp, ecx
mov ecx, edx
shl ebp, cl
and ebp, ebx
mov dword [esp + 0xd0], ebp
mov esi, dword [esp + 0x28]
lea ebx, [esi + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x3c]
jmp 0x5030b2
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edx
add esp, 0x1e8
ret
lea eax, [0x6c8ab0]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e60]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edx
add esp, 0x1e8
ret
mov esi, dword [esp + 0x94]
movzx edi, byte [esp + esi + 0xb6]
cmp edi, 4
jae 0x503a3e
mov eax, dword [esp + 0x1ec]
mov dword [esp], eax
lea edx, [esp + 0xd0]
mov dword [esp + 4], edx
imul ebx, edi, 0x3c4
lea ebx, [ebx + eax + 0x1fc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x78]
cmp ecx, 0x20
sbb esi, esi
mov edi, 1
shl edi, cl
and edi, esi
mov dword [esp + 0x14], edi
call fcn.00503b20
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x50354d
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1ec]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
jmp 0x5030e1
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edx
add esp, 0x1e8
ret
mov ebx, edi
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0045af50
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov ebp, ebx
jmp 0x503096
mov ebx, dword [esp + 0x40]
imul edx, ebx
test edx, edx
je 0x503a53
mov eax, dword [esp + 0x74]
mov ebx, edx
cmp ebx, 0xffffffff
je 0x5035a0
cdq
idiv ebx
jmp 0x5035a2
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x74]
cmp ebx, 0xffffffff
je 0x5035b4
cdq
idiv ebx
jmp 0x5035b6
neg eax
mov edx, dword [esp + 0x74]
inc edx
mov ebx, dword [esp + 0x70]
shl ebx, 3
mov ebp, dword [esp + 0x1ec]
cmp dword [ebp + 0x1020], ebx
jg 0x5035de
mov ebx, edi
mov ebp, dword [esp + 0x28]
mov eax, edx
jmp 0x502f63
mov ebx, eax
shl eax, 3
cmp dword [ebp + 0x1024], eax
jle 0x5035d1
mov ebp, dword [esp + 0x54]
mov eax, edx
mov edx, ebx
mov ebx, dword [esp + 0x60]
jmp 0x503020
mov edx, dword [esp + 0x58]
inc edx
mov ebx, dword [esp + 0x1ec]
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
jge 0x503689
cmp ebx, 4
jae 0x503a69
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x94], ebx
movzx ebx, byte [esp + ebx + 0xb4]
cmp ebx, 4
jae 0x503a5d
mov dword [esp + 0x90], ebx
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x8c], ebx
mov ebp, dword [esp + 0x1ec]
mov edx, dword [ebp + ebx*4 + 0x1050]
mov dword [esp + 0x60], edx
mov ebx, dword [ebp + ebx*4 + 0x1054]
mov dword [esp + 0x2c], ebx
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
jmp 0x502f9f
mov ebx, dword [esp + 0x48]
inc ebx
mov edx, dword [esp + 0x1ec]
mov edx, dword [edx + 0x1040]
test edx, edx
jle 0x503888
mov eax, ebx
mov ebp, edx
cdq
idiv ebp
test edx, edx
jne 0x50387d
mov edx, dword [esp + 0x40]
mov ebp, ecx
imul ecx, edx
cmp ebx, ecx
jl 0x503706
movzx eax, byte [esp + 0x22]
mov ecx, dword [esp + 0x44]
inc ecx
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ebx
mov byte [esp + 0x22], al
xor eax, eax
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x44]
cmp ebp, ebx
jle 0x503891
xor eax, eax
mov dword [esp + 0x58], eax
xor eax, eax
jmp 0x503622
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x1ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], pe_nt_image_headers32
call fcn.005005e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x503868
mov edx, dword [esp + 0x1ec]
cmp byte [edx + 0x32d0], 0xff
jne 0x503766
movzx ebx, byte [edx + 0x32d1]
test bl, bl
je 0x503818
cmp byte [edx + 0x32d0], 0xff
jne 0x5037f7
movzx ebx, byte [esp + 0x22]
cmp byte [edx + 0x32d1], bl
jne 0x5037f7
lea ebp, [ebx + 1]
cmp bl, 0xd7
jne 0x5037f3
mov eax, 0xffffffd0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov word [edx + 0x104e], 0
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
jmp 0x5036c4
mov eax, ebp
jmp 0x50378d
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e70]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov dword [esp], edx
mov eax, dword [esp + 0x1e4]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], pe_nt_image_headers32
call fcn.005005e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x503853
mov edx, dword [esp + 0x1ec]
jmp 0x503766
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], ecx
add esp, 0x1e8
ret
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov edx, dword [esp + 0x40]
mov ebp, ecx
jmp 0x5036bf
mov edx, ebp
mov ebp, ecx
jmp 0x5036bf
inc edi
mov ebx, dword [esp + 0x1ec]
cmp ecx, edi
jle 0x5038ae
mov dword [esp + 0x3c], edi
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
jmp 0x5036ed
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
add esp, 0x1e8
ret
mov edx, dword [esp + 0x98]
jmp 0x502ef0
mov edx, dword [edi + 0x102c]
test edx, edx
jne 0x502de0
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00502570
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x1ec]
jmp 0x502de0
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e58]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov edi, edx
jmp 0x502d4b
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e50]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e48]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov edi, edx
xor ebp, ebp
xor ebx, ebx
mov esi, 0x3f
xor ecx, ecx
jmp 0x502d4b
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e40]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e18]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], ecx
add esp, 0x1e8
ret
lea eax, [0x6c8a90]
mov dword [esp + 0x1f4], eax
lea eax, [0x6c4e00]
mov dword [esp + 0x1f8], eax
add esp, 0x1e8
ret
mov eax, edx
mov ecx, ebp
call fcn.0045ad60
mov eax, ebp
mov ecx, 0x40
call fcn.0045ad60
mov eax, ebx
mov ecx, 0x40
call fcn.0045ad60
mov eax, ebp
mov ecx, 4
call fcn.0045ad60
mov eax, edi
mov ecx, 4
call fcn.0045ad60
mov eax, edi
mov ecx, 4
call fcn.0045ad60
mov eax, ebp
mov ecx, ebx
call fcn.0045ad60
call fcn.0042f460
call fcn.0042f460
mov eax, ebx
mov ecx, 4
call fcn.0045ad60
mov eax, ebx
mov ecx, 4
call fcn.0045ad60
mov eax, ebp
mov ecx, 4
call fcn.0045ad60
mov eax, ebx
mov ecx, 4
call fcn.0045ad60
call fcn.0042f460
call fcn.0042f460
mov eax, ebp
mov ecx, pe_nt_image_headers32
call fcn.0045ad60
mov eax, ebp
mov ecx, pe_nt_image_headers32
call fcn.0045ad60
mov eax, ebx
mov ecx, pe_nt_image_headers32
call fcn.0045ad60
mov eax, ebp
mov ecx, pe_nt_image_headers32
call fcn.0045ad60
mov eax, ebx
mov ecx, 4
call fcn.0045ad60
mov eax, ebp
mov ecx, 4
call fcn.0045ad60
mov eax, esi
mov ecx, 4
call fcn.0045ad60
mov ecx, ebp
mov edx, 4
call fcn.0045ad80
mov eax, ebx
mov ecx, pe_nt_image_headers32
call fcn.0045ad60
mov edx, pe_nt_image_headers32
call fcn.0045ad80
nop
call fcn.00459790
jmp fcn.00502910