Function at 0x603df0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xe4]
cmp eax, dword [ecx + 8]
jbe 0x604bb2
sub esp, 0x164
mov byte [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
call fcn.00470370
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x603e54
xor ecx, ecx
jmp 0x603e5c
test edx, edx
jbe 0x604ba8
mov dword [esp + 0xc0], ecx
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046292f
call fcn.00602750
lea ecx, [0x641e40]
mov dword [esp], ecx
call fcn.0040b7c0
mov ecx, dword [esp + 4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x120], 4
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000004
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
lea edx, [esp + 0x120]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.00473430
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.006057b0
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x604788
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea edx, [0x605770]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0xa8], ecx
lea ecx, [esp + 0x9c]
mov dword [esp], ecx
call fcn.00435850
test eax, eax
jne 0x6047b3
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea edx, [0x605730]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x78]
mov dword [esp], ecx
call fcn.00435850
test eax, eax
jne 0x6047a7
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x60], edx
lea ebx, [0x63c700]
mov dword [esp], ebx
call fcn.0040b7c0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x178]
mov dword [edi + 8], ecx
mov ecx, dword [0x87bd00]
test ecx, ecx
jne 0x60402c
mov ecx, dword [esp + 0x170]
mov dword [edi], ecx
jmp 0x604038
mov eax, dword [esp + 0x170]
call fcn.004626c0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
lea eax, [0x6c370c]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004d80e0
mov eax, dword [esp + 8]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
call fcn.00602750
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x604788
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
lea esi, [0x616ec0]
cmp ebp, esi
jne 0x604b92
mov dword [esp + 0xc8], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0xec], ebx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x38], eax
lea ecx, [0x6517e0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
mov dword [eax], 0x100002
mov dword [esp + 0xe4], eax
lea ecx, [0x623b20]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0xe4]
mov dword [eax + 4], edx
mov edx, dword [0x85452c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x604788
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 0xa4]
mov dword [esp + 0x5c], ecx
lea edx, [0x6283e0]
mov dword [esp], edx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x628460]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0044b0b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xdc], ecx
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x5c]
add edx, 8
mov dword [esp + 0x48], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xe0]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov ebx, dword [esp + 0xdc]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x854534]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.00605440
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x604788
nop
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jne 0x6042c8
lea eax, [0x623b20]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x5c]
mov dword [eax + 4], edx
mov ebx, dword [0x854540]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046e0b0
cmp dword [esp + 0x10], 1
je 0x604766
lea eax, [0x6284a0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x38]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebp, dword [0x854548]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.006051e0
mov eax, dword [esp + 0x58]
test eax, eax
je 0x604394
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
jmp 0x604405
lea eax, [0x623fe0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 0x38]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebx, dword [0x854548]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x604744
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
lea eax, [0x6284a0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x114]
cmp dword [edx], ecx
je 0x6044a2
mov dword [esp + 0xd8], edx
mov dword [esp + 0xd4], eax
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 4
mov edx, dword [esp + 0xd4]
mov dword [eax + 0x10], edx
mov edx, dword [0x854544]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
cmp dword [esp + 0x10], 1
je 0x604722
call fcn.00602750
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00605040
mov eax, dword [esp + 0xec]
mov word [eax + 0x44], 2
mov ecx, dword [esp + 0x114]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x38]
cmp edx, ebx
je 0x604522
mov ebx, dword [esp + 0xcc]
movzx ebp, word [ebx + 0x12]
test bp, 1
ja 0x604500
mov dword [eax + 0x1c], edx
jmp 0x604522
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov edx, dword [eax + 0x10]
add edx, dword [ecx]
mov ebx, dword [esp + 0x11c]
mov dword [ebx + 0xb0], edx
mov dword [esp + 0x108], ebx
lea edx, [0x623b20]
mov dword [esp], edx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 4], ecx
mov ecx, dword [0x85453c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x604788
mov edx, dword [esp + 0x174]
test edx, edx
jbe 0x604b89
mov eax, dword [esp + 0x170]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x100], eax
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x114]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x104]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x100]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x854544]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x604788
lea eax, [0x6284a0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
mov dword [esp + 0xfc], eax
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x114]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 2
mov ebp, dword [esp + 0xfc]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x854530]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.00604de0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x604700
xor eax, eax
jmp 0x6047c6
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov dword [esp + 0x180], 0
call fcn.00435e40
add esp, 0x164
ret
call fcn.00435e40
add esp, 0x164
ret
call fcn.00435e40
add esp, 0x164
ret
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jge 0x604adc
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xd0], edx
mov dword [esp], edx
call fcn.004db970
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x604aba
test edx, edx
jbe 0x604b80
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xf4], eax
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 0xc]
mov ebp, dword [esp + 0x114]
add ebx, dword [ebp]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xf8]
mov dword [eax + 8], ebx
mov ebx, dword [edx + 0x10]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0xf4]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x854544]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
cmp dword [esp + 0x10], 1
je 0x604a98
mov edx, dword [esp + 0xcc]
movzx ebx, word [edx + 2]
dec ebx
mov eax, dword [esp + 0x4c]
cmp eax, ebx
jne 0x6048c6
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x38]
mov esi, dword [esp + 0xd0]
sub ebp, dword [esi + 0xc]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jmp 0x604901
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
jbe 0x604b79
mov ebx, dword [esp + 0xc8]
mov ebp, dword [ebx + eax*4 + 4]
mov ebp, dword [ebp + 0xc]
cmp eax, ecx
jae 0x604b74
mov esi, dword [ebx + eax*4]
sub ebp, dword [esi + 0xc]
cmp eax, ecx
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xd0]
jae 0x604b6f
mov dword [esp + 0x54], ebp
mov edi, dword [esp + 0xc8]
mov ebx, dword [edi + eax*4]
mov ebx, dword [ebx + 0x24]
test ebx, 0x20000000
jbe 0x604970
test ebx, 0x40000000
jbe 0x604942
test ebx, 0x80000000
jbe 0x60493a
mov ebx, 0x40
jmp 0x6049bc
test ebx, 0x20000000
jmp 0x604948
test ebx, 0x20000000
jbe 0x604970
test ebx, 0x40000000
jbe 0x604959
mov ebx, 0x20
jmp 0x6049bc
test ebx, 0x20000000
jbe 0x604970
test ebx, 0x80000000
jbe 0x604970
mov ebx, pe_nt_image_headers32
jmp 0x6049bc
test ebx, 0x40000000
jbe 0x604987
test ebx, 0x80000000
jbe 0x604987
mov ebx, 4
jmp 0x6049bc
mov ebx, dword [esi + 0x24]
test ebx, 0x20000000
jbe 0x604999
mov ebx, 0x10
jmp 0x6049bc
test ebx, 0x40000000
jbe 0x6049a8
mov ebx, 2
jmp 0x6049bc
test ebx, 0x80000000
jbe 0x6049b7
mov ebx, 8
jmp 0x6049bc
mov ebx, 1
mov dword [esp + 0x50], ebx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00604bc0
mov eax, dword [esp + 0x118]
mov dword [esp + 0xf0], eax
lea ecx, [0x623fe0]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0xd0]
mov edx, dword [edx + 0xc]
mov ebx, dword [esp + 0x114]
add edx, dword [ebx]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x50]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xf0]
mov dword [eax + 0x10], edx
mov edx, dword [0x854530]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6047bf
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
lea eax, [0x623b20]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], 0
mov edx, dword [0x854538]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046e0b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x604b4d
mov byte [esp + 0x17c], 1
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435e40
add esp, 0x164
ret
call fcn.00462740
call fcn.00462740
mov eax, ebx
call fcn.00462740
xor eax, eax
mov ecx, eax
call fcn.00462740
xor eax, eax
mov ecx, eax
call fcn.00462740
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x627be0]
mov dword [esp + 8], eax
call fcn.00408df0
xor eax, eax
mov ecx, eax
call fcn.00462740
nop
call fcn.004612b0
jmp fcn.00603df0