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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2d4]
cmp eax, dword [ecx + 8]
jbe 0x60837a
sub esp, 0x354
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x138]
mov eax, dword [ecx + 0x13c]
test edx, edx
je 0x6078c3
nop
movzx ebx, byte [0xa851a8]
test bl, bl
je 0x607889
mov dword [0xa851ac], edx
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x60787e
mov dword [0xa851b0], eax
jmp 0x607889
lea edi, [0xa851b0]
call fcn.004643b0
mov dword [esp + 0x274], edx
mov dword [esp + 0x278], eax
mov edx, dword [esp + 0x274]
test edx, edx
je 0x6078bb
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x6078c9
or ebx, 0x80
jmp 0x6078c9
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x6078c9
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x258], eax
mov dword [esp + 0x254], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x18
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x607928
cmp eax, 7
jne 0x607910
mov eax, dword [ecx]
jmp 0x607945
cmp eax, 8
jne 0x60791a
movzx eax, byte [ecx]
jmp 0x607945
cmp eax, 9
jne 0x60833f
movzx eax, word [ecx]
jmp 0x607945
cmp eax, 0xa
jne 0x607931
mov eax, dword [ecx]
jmp 0x607945
cmp eax, 0xb
jne 0x60793a
mov eax, dword [ecx]
jmp 0x607945
cmp eax, 0xc
jne 0x60833f
mov eax, dword [ecx]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x254]
mov dword [esp], ecx
mov edx, dword [esp + 0x258]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x17
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x6079ae
cmp eax, 7
jne 0x607992
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x6079d2
cmp eax, 8
jne 0x60799e
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x6079d2
cmp eax, 9
jne 0x608305
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x6079d2
cmp eax, 0xa
jne 0x6079b9
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x6079d2
cmp eax, 0xb
jne 0x6079c5
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x6079d2
cmp eax, 0xc
jne 0x608305
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
seta dl
sete bl
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ebp
or ebx, edx
test bl, bl
je 0x607bef
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x34]
and edx, 0xf0000000
shr edx, 0x1c
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x358]
movzx ebp, byte [ebx + 0x294]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x607b03
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x607a7b
cmp eax, 7
jne 0x607a63
mov ecx, dword [ecx]
jmp 0x607a98
cmp eax, 8
jne 0x607a6d
movzx ecx, byte [ecx]
jmp 0x607a98
cmp eax, 9
jne 0x6082cb
movzx ecx, word [ecx]
jmp 0x607a98
cmp eax, 0xa
jne 0x607a84
mov ecx, dword [ecx]
jmp 0x607a98
cmp eax, 0xb
jne 0x607a8d
mov ecx, dword [ecx]
jmp 0x607a98
cmp eax, 0xc
jne 0x6082cb
mov ecx, dword [ecx]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x84]
xor eax, eax
call fcn.00464628
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x7aa1e0]
cmp edx, ebx
jne 0x6082b5
lea edi, [esp + 0x84]
call fcn.00464940
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x358]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00602c20
mov eax, dword [esp + 8]
mov ecx, 1
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x607f9e
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x607b66
cmp eax, 7
jne 0x607b4e
mov ecx, dword [ecx]
jmp 0x607b83
cmp eax, 8
jne 0x607b58
movzx ecx, byte [ecx]
jmp 0x607b83
cmp eax, 9
jne 0x607f4c
movzx ecx, word [ecx]
jmp 0x607b83
cmp eax, 0xa
jne 0x607b6f
mov ecx, dword [ecx]
jmp 0x607b83
cmp eax, 0xb
jne 0x607b78
mov ecx, dword [ecx]
jmp 0x607b83
cmp eax, 0xc
jne 0x607f4c
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
lea edi, [esp + 0x164]
xor eax, eax
call fcn.00464624
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x7a9ca0]
cmp edx, ebx
jne 0x607f36
lea edi, [esp + 0x164]
call fcn.00464918
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov eax, dword [esp + 0x358]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00602c20
mov eax, dword [esp + 8]
xor ecx, ecx
mov edx, 1
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x607c2a
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x35c], edx
mov dword [esp + 0x360], ecx
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov eax, ebx
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x264]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x264], ebp
mov edi, dword [esp + 0x38]
cmp ecx, edi
setb bl
mov ebp, dword [esp + 0x30]
cmp edx, ebp
xchg ebp, ebx
setbe bl
xchg ebp, ebx
cmp ecx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x607e91
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
lea eax, [0x758ec0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jbe 0x607ca6
mov edx, dword [0xa846b0]
xor ebp, ebp
jmp 0x607cdd
mov edx, dword [ecx + 0x28c]
mov ebp, dword [ecx + 0x288]
mov esi, dword [ecx + 0x290]
cmp ebx, edx
ja 0x607f2d
sub edx, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
cmp edx, 3
jbe 0x607f21
mov ebp, dword [esi + ebp]
xor edx, edx
test edx, edx
jne 0x607e66
mov dword [esp + 0x54], ebp
mov edx, dword [esp + 0x74]
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x607d0a
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x607d93
mov dword [esp + 0x26c], eax
mov dword [esp], ecx
lea ebp, [0x744360]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea esi, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.00603910
mov eax, dword [esp + 0x26c]
movzx eax, byte [eax]
cmp al, 1
je 0x607d46
cmp al, 2
jne 0x607d76
mov byte [esp + 0x23], al
lea edi, [esp + 0x27c]
xor eax, eax
call fcn.00464657
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x54]
xor esi, esi
jmp 0x607eb6
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov edi, ecx
mov ecx, dword [esp + 0x358]
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x64]
cmp edx, ecx
jae 0x607e07
mov dword [esp + 0x58], edi
mov dword [esp + 0x25c], eax
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x780240]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x25c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x264], ebp
mov edx, ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x48]
add edx, 1
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x4c]
adc edx, 0
mov dword [esp + 0x6c], edx
dec ecx
shl ecx, 4
mov edx, dword [esp + 0x264]
mov dword [edx + ecx], ebp
xchg esi, eax
mov byte [edx + ecx + 4], al
xchg esi, eax
mov dword [edx + ecx + 0xc], edi
mov ebp, dword [0xaab020]
lea edi, [edx + ecx + 8]
mov esi, dword [esp + 0x74]
lea ebx, [ebx + esi + 4]
test ebp, ebp
jne 0x607e5c
mov dword [edx + ecx + 8], eax
jmp 0x607c11
call fcn.004643b0
jmp 0x607c11
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x264]
mov edx, ecx
mov ecx, esi
jmp 0x607bf5
add edx, 0x24
mov ecx, dword [esp + 0x70]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x358]
cmp esi, ebx
jge 0x607eea
mov dword [esp + 0x70], esi
lea edi, [esp + 0x30c]
mov esi, edx
call fcn.00464b16
cmp dword [esp + 0x310], ebp
jne 0x607ea5
lea edi, [esp + 0x27c]
lea esi, [esp + 0x30c]
call fcn.00464b16
jmp 0x607ef6
lea edi, [esp + 0x27c]
call fcn.00464657
lea edi, [esp + 0x2c4]
lea esi, [esp + 0x27c]
call fcn.00464b16
mov edx, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
movzx eax, byte [esp + 0x23]
jmp 0x607d7a
mov eax, 3
mov ecx, edx
call fcn.00464430
mov eax, ebx
mov ecx, edx
call fcn.004644a0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
mov edi, dword [esp + 0x50]
lea ecx, [edi + 1]
mov eax, ebx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x268]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x30]
cmp ecx, esi
ja 0x608217
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x264], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
lea eax, [0x758ec0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
mov ebx, dword [esp + 0x44]
cmp ebx, edx
jbe 0x607ff5
mov edx, dword [0xa846b0]
xor ebp, ebp
jmp 0x60802c
mov edx, dword [ecx + 0x28c]
mov ebp, dword [ecx + 0x288]
mov esi, dword [ecx + 0x290]
cmp ebx, edx
ja 0x6082ac
sub edx, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
cmp edx, 3
jbe 0x6082a0
mov ebp, dword [esi + ebp]
xor edx, edx
test edx, edx
jne 0x6081ec
mov dword [esp + 0x3c], ebp
mov edx, dword [esp + 0x74]
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x608059
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x6080ee
mov dword [esp + 0x270], eax
mov dword [esp], ecx
lea ebp, [0x744360]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea esi, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.00603910
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x6081c1
mov ecx, dword [esp + 0x270]
movzx ecx, byte [ecx]
cmp cl, 1
je 0x6080a1
cmp cl, 2
jne 0x6080d1
mov byte [esp + 0x23], cl
lea edi, [esp + 0x2a0]
xor eax, eax
call fcn.00464657
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x3c]
xor esi, esi
jmp 0x608233
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov esi, ecx
mov edi, eax
mov ecx, dword [esp + 0x358]
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x64]
cmp edx, ecx
jb 0x608113
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x7c]
jmp 0x608178
mov dword [esp + 0x5c], edi
mov dword [esp + 0x260], eax
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x780240]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x260]
mov ebp, dword [esp + 0x3c]
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x268], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edx
dec ecx
shl ecx, 4
mov edx, dword [esp + 0x268]
mov dword [edx + ecx], ebp
xchg esi, eax
mov byte [edx + ecx + 4], al
xchg esi, eax
mov dword [edx + ecx + 0xc], edi
mov ebp, dword [0xaab020]
lea edi, [edx + ecx + 8]
mov esi, dword [esp + 0x74]
lea ebx, [ebx + esi + 4]
test ebp, ebp
jne 0x6081b7
mov dword [edx + ecx + 8], eax
jmp 0x607f86
call fcn.004643b0
jmp 0x607f86
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, edx
mov esi, ebp
mov ecx, ebx
jmp 0x607e9c
add edx, 0x24
mov ecx, dword [esp + 0x70]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x358]
cmp esi, ebx
jge 0x608267
mov dword [esp + 0x70], esi
lea edi, [esp + 0x330]
mov esi, edx
call fcn.00464b16
cmp dword [esp + 0x334], ebp
jne 0x608222
lea edi, [esp + 0x2a0]
lea esi, [esp + 0x330]
call fcn.00464b16
jmp 0x608273
lea edi, [esp + 0x2a0]
call fcn.00464657
lea edi, [esp + 0x2e8]
lea esi, [esp + 0x2a0]
call fcn.00464b16
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, ecx
movzx ecx, byte [esp + 0x23]
jmp 0x6080d5
mov eax, 3
mov ecx, edx
call fcn.00464430
mov eax, ebx
mov ecx, edx
call fcn.004644a0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
nop
call fcn.00462fa0
jmp fcn.00607820