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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x298]
cmp eax, dword [ecx + 8]
jbe 0x604e5f
sub esp, 0x318
lea edi, [esp + 0x2b0]
xor eax, eax
call fcn.00464659
lea edi, [esp + 0x2cc]
call fcn.0046464d
lea ecx, [esp + 0x2cc]
mov dword [esp + 0x2bc], ecx
call fcn.0044ff60
mov ecx, dword [esp]
mov dword [esp + 0x2b8], ecx
lea edi, [esp + 0x294]
xor eax, eax
call fcn.00464659
lea edi, [esp + 0x74]
call fcn.00464653
lea ecx, [esp + 0x74]
mov dword [esp + 0x2a0], ecx
call fcn.0044ff60
mov ecx, dword [esp]
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x320]
test ecx, ecx
je 0x604436
mov edx, dword [esp + 0x324]
mov ebx, dword [esp + 0x31c]
mov eax, ecx
xor ebp, ebp
mov esi, 0xffffffff
xor edi, edi
xor eax, eax
mov dword [esp + 0x28], eax
lea ecx, [0xaaacd4]
mov dword [esp + 0x268], ecx
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x320]
mov ecx, eax
jmp 0x6044cd
mov dword [esp + 0x32c], 0
mov dword [esp + 0x330], 0
mov dword [esp + 0x334], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
add esp, 0x318
ret
lea ebp, [eax + edx*8 - 8]
mov dword [ebp], ecx
lea ecx, [eax + edx*8 - 4]
mov ebp, dword [esp + 0x20]
mov dword [ecx], ebp
lea ecx, [ebp + 4]
mov ebp, dword [esp + 0x324]
mov esi, dword [esp + 0x31c]
mov edi, dword [esp + 0x320]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x268], eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x320]
mov edx, dword [esp + 0x324]
mov ebx, dword [esp + 0x31c]
add edx, eax
cmp ecx, edx
jae 0x60482e
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], ecx
cmp ebp, 0xf
jb 0x60452d
mov edx, dword [0xa7b198]
mov dword [esp + 0x280], edx
mov ebp, dword [0xa7b19c]
mov dword [esp + 0x50], ebp
mov ecx, dword [ebx + 0x274]
mov dword [esp + 0x44], ecx
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x274], ebx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x6c]
jmp 0x604d01
mov edx, edi
sub edi, esi
cmp edi, 0x8000000
jbe 0x60457c
mov edi, edx
mov edx, dword [0xa7b190]
mov dword [esp + 0x27c], edx
mov ebp, dword [0xa7b194]
mov dword [esp + 0x4c], ebp
mov ecx, dword [ebx + 0x274]
mov dword [esp + 0x40], ecx
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x270], ebx
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x5c]
jmp 0x604b84
movzx edx, byte [esp + 0x328]
test dl, dl
je 0x6045f2
lea edi, [esp + 0x188]
xor eax, eax
call fcn.00464628
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
lea ebp, [0x7aa1e0]
cmp ecx, ebp
jne 0x604b51
lea edi, [esp + 0x188]
mov esi, edx
call fcn.00464940
lea edi, [esp + 0xa8]
lea esi, [esp + 0x188]
call fcn.00464940
mov eax, dword [esp + 0xc4]
mov dword [esp], ebx
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.00602c20
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
jne 0x60460b
jmp 0x6048a7
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00602c20
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x6049a0
mov dword [esp + 0x30], eax
lea ecx, [0x769ca0]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x288], eax
mov ecx, dword [esp + 0x31c]
mov dword [esp], ecx
lea edx, [0x73e420]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 4
call fcn.00603910
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x604962
mov ecx, dword [esp + 0x288]
mov edx, dword [ecx]
test edx, edx
je 0x604866
mov ebx, dword [esp + 0x320]
cmp ebx, edx
ja 0x60468a
mov ebp, dword [esp + 0x20]
cmp ebp, edx
jb 0x60468e
jmp 0x6048e5
mov ebp, dword [esp + 0x20]
test edx, 0x80000000
jbe 0x6046f4
and edx, 0x7fffffff
cmp edx, 0xffff
jbe 0x6049de
mov edx, dword [0xa7b168]
mov dword [esp + 0x278], edx
mov esi, dword [0xa7b16c]
mov dword [esp + 0x48], esi
mov eax, ebx
mov ebx, dword [esp + 0x31c]
mov edi, ecx
mov ecx, dword [ebx + 0x274]
mov dword [esp + 0x3c], ecx
mov ebp, dword [ebx + 0x270]
mov dword [esp + 0x26c], ebp
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x64]
jmp 0x604a0b
lea eax, [0x75db20]
mov dword [esp], eax
lea ecx, [esp + 0x294]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0040e8d0
movzx eax, byte [esp + 0x10]
test al, al
je 0x604723
mov eax, dword [esp + 0x2c]
lea ebp, [eax + 1]
jmp 0x604754
mov eax, dword [esp + 0x288]
mov ecx, dword [eax]
lea edx, [0x75db20]
mov dword [esp], edx
lea ebx, [esp + 0x294]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0040ea30
mov eax, dword [esp + 0xc]
mov byte [eax], 1
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x288]
mov ecx, dword [eax]
mov edx, dword [esp + 0x38]
cmp edx, ecx
jae 0x604769
mov edx, ecx
jmp 0x60476f
mov edx, ecx
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
cmp ebx, edx
ja 0x604779
mov edx, ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ebp
lea eax, [0x75da60]
mov dword [esp], eax
lea ebx, [esp + 0x2b0]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x20]
mov dword [esp + 8], esi
call fcn.0040ea30
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0xaab020]
test eax, eax
jne 0x6047c1
mov ecx, dword [esp + 0x288]
mov dword [edi], ecx
jmp 0x6047cf
mov eax, dword [esp + 0x288]
call fcn.004643b0
mov ecx, eax
mov ecx, dword [ecx]
mov edx, dword [esp + 0x24]
inc edx
mov ebx, dword [esp + 0x28]
cmp ebx, edx
jb 0x6047ea
mov eax, dword [esp + 0x268]
jmp 0x604474
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x268]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x773260]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, dword [esp + 0x58]
jmp 0x604474
mov eax, dword [ebx + 0x2c0]
mov dword [esp], eax
lea eax, [0x7d58ce]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00537f20
mov eax, dword [esp + 0x268]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x334], eax
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
add esp, 0x318
ret
mov dword [esp + 0x32c], 0
mov dword [esp + 0x330], 0
mov dword [esp + 0x334], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
add esp, 0x318
ret
mov dword [esp + 0x28c], 0
mov dword [esp + 0x290], 0
mov dword [esp], ebp
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x758e40]
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x31c]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x7d8e64]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x5d
lea eax, [esp + 0x28c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00537f20
jmp 0x604866
mov dword [esp + 0x32c], 0
mov dword [esp + 0x330], 0
mov dword [esp + 0x334], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
add esp, 0x318
ret
mov dword [esp + 0x32c], 0
mov dword [esp + 0x330], 0
mov dword [esp + 0x334], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
add esp, 0x318
ret
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
jmp 0x604779
lea edx, [ebx + 1]
mov ebp, dword [esp + 0x26c]
mov ebx, dword [esp + 0x31c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x278]
mov ebx, dword [esp + 0x54]
cmp ebx, ecx
jge 0x604a74
lea edx, [ebp + ebx*8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
cmp ebp, esi
jne 0x6049ef
mov dword [esp], edx
mov eax, dword [esp + 0x278]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x604a5c
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x288]
jmp 0x6049ef
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
mov eax, dword [esp + 0x320]
mov edi, dword [esp + 0x288]
jl 0x604b44
mov ecx, dword [esp + 0x31c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x604b09
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x31c]
mov dword [ebx + 0x278], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x604ae5
mov dword [ebx + 0x270], eax
jmp 0x604af0
lea edi, [ebx + 0x270]
call fcn.004643b0
mov edi, dword [esp + 0x288]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0xa7b168]
lea esi, [ebx + edx*8 - 4]
mov ecx, dword [0xa7b16c]
mov dword [esi], ecx
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x604b33
mov dword [ecx], ebp
jmp 0x604b44
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ecx, edi
mov ebx, eax
mov ebp, dword [esp + 0x20]
jmp 0x6049de
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x270]
mov edx, dword [esp + 0x40]
mov edx, dword [esp + 0x27c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x54]
cmp edx, ecx
jge 0x604bea
lea ebx, [ebx + edx*8]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ecx, ebp
jne 0x604b67
mov dword [esp], ebx
mov eax, dword [esp + 0x27c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x604bd1
mov eax, dword [esp + 0x320]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
jmp 0x604b67
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x40]
cmp ecx, edx
mov eax, dword [esp + 0x320]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
jl 0x604cce
mov ecx, dword [esp + 0x31c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x604c80
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x31c]
mov dword [ebx + 0x278], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x604c5b
mov dword [ebx + 0x270], eax
jmp 0x604c66
lea edi, [ebx + 0x270]
call fcn.004643b0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0xa7b190]
mov dword [esp + 0x284], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0xa7b194]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x604cb8
mov edx, dword [esp + 0x284]
mov dword [ecx], edx
jmp 0x604cce
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x284]
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x20]
mov edx, edi
mov ebx, dword [esp + 0x31c]
mov ebp, dword [esp + 0x2c]
jmp 0x60457c
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x274]
mov edx, dword [esp + 0x44]
mov edx, dword [esp + 0x280]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
cmp edx, ecx
jge 0x604d67
lea ebx, [ebx + edx*8]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ecx, ebp
jne 0x604ce4
mov dword [esp], ebx
mov eax, dword [esp + 0x280]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x604d4e
mov eax, dword [esp + 0x320]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
jmp 0x604ce4
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
cmp ecx, edx
mov eax, dword [esp + 0x320]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
jl 0x604e4b
mov ecx, dword [esp + 0x31c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x604dfd
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x31c]
mov dword [ebx + 0x278], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x604dd8
mov dword [ebx + 0x270], eax
jmp 0x604de3
lea edi, [ebx + 0x270]
call fcn.004643b0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0xa7b198]
mov dword [esp + 0x284], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0xa7b19c]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x604e35
mov edx, dword [esp + 0x284]
mov dword [ecx], edx
jmp 0x604e4b
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x284]
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x31c]
mov ebp, dword [esp + 0x2c]
jmp 0x60452d
call fcn.00462fa0
jmp fcn.00604360