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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x72954c
sub esp, 0x110
mov ecx, dword [esp + 0x11c]
cmp ecx, 2
jl 0x729451
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
mov eax, ebp
mov edx, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov word [esp + 0x24], ax
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x10c], edx
xor ebx, ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x118]
mov eax, ebp
mov edx, ebx
jmp 0x728150
inc ebx
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x104]
movzx esi, word [esp + 0x24]
mov dword [esp + 0x38], ebx
movzx ebx, word [esp + 0x22]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
cmp ebx, esi
jge 0x728111
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jge 0x728111
cmp ebx, esi
jae 0x72953b
mov ebp, dword [esp + 0x10c]
mov ebp, dword [ebp + ebx*4]
mov esi, dword [esp + 0x104]
mov esi, dword [esi + ebx*4]
cmp ebp, esi
je 0x7280bb
test ebx, ebx
jle 0x7281d1
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
ja 0x729532
movzx esi, word [esp + 0x24]
mov eax, dword [esp + 0x64]
inc eax
mov word [esp + 0x24], si
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x108]
mov esi, eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x108], ebx
cmp esi, ecx
jg 0x728802
mov dword [esp + 0x64], esi
jge 0x7287ee
jae 0x729544
mov ebx, dword [edx + esi*4]
cmp byte [ebx], 0x12
jne 0x728187
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jle 0x728187
mov ebx, dword [esi]
cmp byte [ebx], 3
je 0x7287ca
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x28], ebx
xor ebx, ebx
mov word [esp + 0x22], bx
mov dword [esp + 0x104], ebp
mov dword [esp + 0x2c], esi
movzx esi, word [esp + 0x24]
cmp bx, si
jne 0x7281d1
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb0]
jmp 0x7280dc
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x104]
movzx ebx, word [esp + 0x22]
mov word [esp + 0x26], bx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x64]
cmp ebx, edi
jne 0x728223
mov edi, dword [esp + 0x108]
mov ebx, ebp
mov dword [esp + 0x10c], esi
mov dword [esp + 0x108], edi
mov edi, dword [esp + 0x64]
movzx esi, word [esp + 0x26]
mov ebp, dword [esp + 0x5c]
jmp 0x72812a
mov dword [esp + 0x58], ebp
mov dword [esp + 0x100], esi
lea ebp, [edi + 1]
cmp ebx, ebp
jne 0x72833a
cmp edi, ecx
jae 0x72952b
mov ebp, dword [esp + 0x3c]
lea ebx, [ebp + 1]
mov esi, dword [edx + edi*4]
mov edi, esi
mov esi, dword [esp + 0x40]
cmp ebx, esi
ja 0x7282d3
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0xe0]
lea esi, [ebx + ebp*4]
mov dword [esp + 0xfc], esi
mov esi, dword [0xdd7ec0]
test esi, esi
jne 0x7282bd
mov dword [ebx + ebp*4], edi
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], esi
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x100]
jmp 0x728201
mov ebp, edi
mov edi, dword [esp + 0xfc]
mov esi, eax
mov eax, ebp
call fcn.00456fe0
mov eax, esi
jmp 0x728297
mov dword [esp + 0xf8], edi
lea eax, [0x94ad60]
mov dword [esp], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x120]
jmp 0x728271
mov dword [esp + 0x4c], edi
nop
mov ebp, dword [esp + 0x114]
mov esi, dword [ebp + 0x10]
lea edx, [ebp + 0x10]
mov dword [esp + 0xf4], edx
test esi, esi
je 0x72879c
mov ecx, dword [0xdd7ec0]
mov ebx, dword [esi + 0x10]
test ecx, ecx
jne 0x728757
mov dword [ebp + 0x10], ebx
mov edi, esi
mov ebx, eax
xor eax, eax
call fcn.004572a1
mov dword [esp + 0xdc], esi
mov byte [esi], 3
movzx ecx, word [esp + 0x24]
mov word [esi + 2], cx
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x1c]
mov edx, dword [esp + 0x30]
cmp edx, edi
ja 0x728724
mov dword [esp + 0x84], edi
mov dword [esp + 0x104], ecx
mov dword [esp], ecx
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
shl edx, 2
mov dword [esp + 8], edx
call fcn.004579b0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xdc]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x84]
mov dword [ecx + 0x1c], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x72870c
mov ebx, dword [esp + 0x104]
mov dword [ecx + 0x14], ebx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
jmp 0x728446
inc edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x114]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x64]
cmp edx, edi
jge 0x72849c
cmp edx, esi
jae 0x729522
mov dword [esp + 0x84], edx
mov ecx, dword [ebx + edx*4]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00729560
mov eax, dword [0xdd7ec0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x118]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x728490
mov dword [ebx + edx*4], ecx
jmp 0x728416
mov eax, ecx
call fcn.00456fe0
jmp 0x728416
mov edx, dword [esp + 0x120]
cmp edi, edx
ja 0x72951b
mov eax, dword [esp + 0x4c]
cmp eax, edi
ja 0x729514
mov dword [esp], ebp
sub edx, eax
mov dword [esp + 0x84], edx
mov esi, eax
shl eax, 2
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [ebx + edx]
mov dword [esp + 4], eax
sub edi, esi
mov dword [esp + 8], edi
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.00727c60
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
nop
mov ecx, dword [esp + 0x114]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x7286ec
mov dword [esp + 0xd4], edi
mov ebx, dword [0xdd7ec0]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x7286ba
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.004572a1
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xd0], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
cmp ebp, 2
jb 0x728670
mov esi, 2
mov edi, ebp
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x728641
mov ebp, dword [esp + 0xdc]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x728630
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0x3c]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x40]
cmp ebp, esi
ja 0x7285ea
mov edx, dword [esp + 0x108]
mov dword [esp + 0x40], esi
mov edi, ebp
mov ebp, dword [0xdd7ec0]
lea esi, [edx + ebx*4]
test ebp, ebp
jne 0x7285d9
mov dword [edx + ebx*4], ecx
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x40]
mov ebx, edx
mov esi, edi
mov edx, dword [esp + 0x118]
jmp 0x72829f
mov ebx, edi
mov edi, esi
mov eax, ecx
call fcn.00456fe0
xor eax, eax
mov edi, ebx
jmp 0x7285b7
lea eax, [0x94ad60]
mov dword [esp], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00440660
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x3c]
jmp 0x7285a1
lea edi, [ecx + 4]
mov eax, ebx
call fcn.00456fe0
xor eax, eax
jmp 0x72858b
mov dword [esp + 0x84], edi
mov edi, ebx
mov eax, dword [esp + 0xdc]
call fcn.00456fe0
lea ebp, [ebx + 4]
mov edi, ebp
mov eax, edx
call fcn.00456fe0
xor eax, eax
mov edi, dword [esp + 0x84]
jmp 0x728574
lea eax, [0x94ad60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.00440660
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xc0]
jmp 0x728558
mov eax, edi
mov edi, dword [esp + 0xf4]
mov ecx, eax
mov eax, ebp
call fcn.00456fe0
lea edx, [0x95bf80]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004112f0
xor eax, eax
mov edx, dword [esp + 0xc0]
jmp 0x728533
lea eax, [0x95bf80]
mov dword [esp], eax
call fcn.0040ae10
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xc0]
jmp 0x72853a
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0x104]
call fcn.00456fe0
mov eax, edx
jmp 0x7283f7
lea eax, [0x8ead80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
call fcn.00440660
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
jmp 0x72839f
mov dword [esp + 0xcc], esi
mov edi, edx
mov eax, ebx
call fcn.00456fe0
lea ecx, [0x95bf80]
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.004112f0
xor eax, eax
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xcc]
jmp 0x72837a
lea eax, [0x95bf80]
mov dword [esp], eax
call fcn.0040ae10
mov esi, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x114]
jmp 0x72837a
mov ebp, dword [ebx + 0x18]
mov esi, dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
movzx ebx, word [ebx + 2]
and ebx, 1
mov dword [esp + 0x28], ebp
mov ebp, esi
mov esi, eax
mov eax, dword [esp + 0x120]
jmp 0x72819e
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov word [esp + 0x26], bx
xor ebx, ebx
jmp 0x7281ee
mov esi, dword [esp + 0x3c]
mov eax, ebp
mov ecx, ebx
xor edx, edx
xor edi, edi
xor eax, eax
mov dword [esp + 0xd8], eax
xor ecx, ecx
mov dword [esp + 0x84], ecx
mov eax, ebp
mov ecx, ebx
jmp 0x728842
inc edx
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x84], ebx
mov ebx, esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x10c], ebx
cmp edx, esi
jg 0x728e6f
mov dword [esp + 0x60], edx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], edi
jge 0x728e61
jae 0x72950b
mov ebx, dword [ecx + edx*4]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x728e2b
xor ebx, ebx
mov dword [esp + 0xb8], ebx
mov ebp, dword [esp + 0xd8]
test ebp, ebp
jne 0x728dec
mov dword [esp + 0xa0], eax
xor eax, eax
mov byte [esp + 0x21], al
mov eax, dword [esp + 0xa0]
movzx esi, byte [esp + 0x21]
xchg esi, eax
test al, al
xchg esi, eax
je 0x728922
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x728dc1
cmp dword [ebp + 0x18], 1
jne 0x728dc1
mov dword [esp + 0x98], eax
mov eax, 1
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x98]
movzx ebx, byte [esp + 0x20]
test bl, bl
je 0x728d66
mov ebx, 1
test bl, bl
je 0x728922
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x10c]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x10c]
jmp 0x728826
mov ebx, dword [esp + 0xb8]
cmp edx, edi
jne 0x728956
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x84], esi
mov esi, ebp
mov ebp, ebx
mov ebx, edi
mov edi, edx
jmp 0x728826
mov dword [esp + 0xe4], ebx
lea esi, [edi + 1]
cmp edx, esi
jne 0x728a6a
mov ebp, dword [esp + 0x3c]
cmp edi, ebp
jae 0x7294f9
mov esi, dword [esp + 0x84]
lea ebp, [esi + 1]
mov ebx, dword [ecx + edi*4]
mov edi, ebx
mov ebx, dword [esp + 0x80]
cmp ebp, ebx
ja 0x728a06
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0xe0]
lea ebp, [ebx + esi*4]
mov dword [esp + 0xf0], ebp
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x7289f0
mov dword [ebx + esi*4], edi
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x84]
mov edi, esi
mov esi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0xe4]
jmp 0x728942
mov ebp, edi
mov edi, dword [esp + 0xf0]
mov esi, eax
mov eax, ebp
call fcn.00456fe0
mov eax, esi
jmp 0x7289d3
mov dword [esp + 0xf8], edi
lea eax, [0x94ad60]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x40]
jmp 0x7289aa
mov esi, dword [esp + 0x114]
jmp 0x728aa6
lea edi, [edx + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x40]
mov ecx, ebx
mov edx, ebp
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x114]
cmp edi, edx
jge 0x728b06
mov ebx, dword [esp + 0x3c]
cmp edi, ebx
jae 0x7294f0
mov dword [esp + 0x7c], edi
mov eax, dword [ecx + edi*4]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
cmp edi, eax
setne dl
mov byte [esp + 8], dl
call fcn.00729790
mov eax, dword [0xdd7ec0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x108]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x728afa
mov dword [ebx + edx*4], ecx
jmp 0x728a73
mov eax, ecx
call fcn.00456fe0
jmp 0x728a73
cmp edx, eax
ja 0x7294e7
mov edi, dword [esp + 0x50]
cmp edi, edx
ja 0x7294de
mov dword [esp], esi
sub eax, edi
mov ebp, eax
neg eax
shl edi, 2
sar eax, 0x1f
and eax, edi
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
sub edx, eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov byte [esp + 0x10], 0x13
call fcn.00727c60
mov eax, dword [esp + 0x14]
mov dword [esp + 0xbc], eax
nop
mov ecx, dword [esp + 0x114]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x728d46
mov dword [esp + 0xc8], edi
mov ebx, dword [0xdd7ec0]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x728d16
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.004572a1
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xc4], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jb 0x728ccc
mov esi, 2
mov edi, ebx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x728ca3
mov ebx, dword [esp + 0xd8]
mov dword [ebp], ebx
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x728c92
mov dword [ecx + 4], ebp
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x80]
cmp ebp, esi
ja 0x728c49
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x84], esi
mov edi, ebp
mov ebp, dword [0xdd7ec0]
lea esi, [edx + ebx*4]
test ebp, ebp
jne 0x728c38
mov dword [edx + ebx*4], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x108]
mov ebp, dword [esp + 0x84]
mov esi, edi
mov ebx, edx
mov edx, dword [esp + 0x60]
jmp 0x7289de
mov ebx, edi
mov edi, esi
mov eax, ecx
call fcn.00456fe0
xor eax, eax
mov edi, ebx
jmp 0x728c19
lea eax, [0x94ad60]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00440660
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x84]
jmp 0x728c00
lea edi, [ecx + 4]
mov eax, ebp
call fcn.00456fe0
xor eax, eax
jmp 0x728be4
mov dword [esp + 0x7c], edi
mov edi, ebp
mov eax, dword [esp + 0xd8]
call fcn.00456fe0
lea ebx, [ebp + 4]
mov edi, ebx
mov eax, edx
call fcn.00456fe0
xor eax, eax
mov edi, dword [esp + 0x7c]
jmp 0x728bcd
lea eax, [0x94ad60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00440660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
jmp 0x728bb0
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebx, eax
mov eax, ebp
call fcn.00456fe0
lea edx, [0x95bf80]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.004112f0
xor eax, eax
mov edx, dword [esp + 0xbc]
jmp 0x728b8b
lea eax, [0x95bf80]
mov dword [esp], eax
call fcn.0040ae10
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xbc]
jmp 0x728b92
xchg esi, eax
cmp al, 0x11
xchg esi, eax
jne 0x728dba
mov ebx, dword [ebp + 0x2c]
cmp dword [ebp + 0x28], ebx
jne 0x728dba
mov ebx, dword [ebp + 4]
mov esi, dword [ebp + 8]
test esi, esi
jbe 0x729502
mov ebx, dword [ebx]
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x728d9f
cmp dword [ebx + 0x18], 1
jne 0x728d9f
mov ebx, 1
jmp 0x7288f6
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x728d95
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x728d95
xchg esi, eax
cmp al, 6
xchg esi, eax
sete bl
jmp 0x7288f6
xor ebx, ebx
jmp 0x7288f6
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x7288cd
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x7288cd
xchg esi, eax
cmp al, 6
xchg esi, eax
sete al
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x40]
jmp 0x7288e4
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0072ff20
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x40]
jmp 0x7288a9
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x728e58
mov ebp, dword [ebx + 4]
mov esi, dword [ebx + 8]
test esi, esi
jle 0x728e58
mov ebx, dword [ebp]
cmp byte [ebx], 2
jne 0x728e4f
mov esi, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x72887f
mov esi, dword [esp + 0x3c]
jmp 0x72887f
mov esi, dword [esp + 0x3c]
jmp 0x72887f
mov ebp, dword [esp + 0xd8]
xor ebx, ebx
jmp 0x728929
mov edx, dword [esp + 0x84]
mov eax, ebx
xor ecx, ecx
xor esi, esi
xor edi, edi
jmp 0x728e91
inc ecx
mov ebx, dword [esp + 0x84]
mov ebx, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x108], ebx
cmp ecx, edx
jg 0x72931a
jge 0x728ed7
jae 0x7294d5
mov edx, dword [eax + ecx*4]
movzx ebx, byte [edx]
cmp bl, 3
jne 0x7292fd
cmp dword [edx + 0x18], 1
jne 0x7292fd
mov edx, 1
test dl, dl
je 0x728ed7
mov edx, dword [esp + 0x108]
jmp 0x728e80
mov dword [esp + 0x68], ecx
cmp ecx, esi
jne 0x728f9f
mov edx, dword [esp + 0x84]
cmp ecx, edx
mov ebx, dword [esp + 0x108]
jge 0x728f99
jae 0x729496
lea esi, [edi + 1]
mov edx, dword [eax + ecx*4]
cmp esi, ebp
ja 0x728f46
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebp
mov ebp, dword [0xdd7ec0]
lea esi, [ebx + edi*4]
test ebp, ebp
jne 0x728f37
mov dword [ebx + edi*4], edx
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
lea esi, [ecx + 1]
mov edi, ebp
mov ebp, edx
mov edx, ebx
jmp 0x728e80
mov edi, esi
mov ebp, eax
mov eax, edx
call fcn.00456fe0
mov eax, ebp
jmp 0x728f21
mov dword [esp + 0x78], edi
mov dword [esp + 0xf8], edx
lea eax, [0x94ad60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00440660
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xf8]
mov edi, dword [esp + 0x78]
jmp 0x728f09
mov edx, ebp
mov ebp, edi
jmp 0x728f29
lea edx, [esi + 1]
cmp ecx, edx
jne 0x729090
mov edx, dword [esp + 0x84]
cmp esi, edx
jae 0x7294cc
lea ebx, [edi + 1]
mov esi, dword [eax + esi*4]
cmp ebx, ebp
ja 0x72902c
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
mov ebx, dword [esp + 0xe0]
lea ebp, [ebx + edi*4]
mov dword [esp + 0xec], ebp
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x729016
mov dword [ebx + edi*4], esi
cmp ecx, edx
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, esi
jmp 0x728ef3
mov edi, dword [esp + 0xec]
mov ebp, eax
mov eax, esi
call fcn.00456fe0
cmp ecx, edx
mov eax, ebp
jmp 0x729007
mov dword [esp + 0xf8], esi
lea eax, [0x94ad60]
mov dword [esp], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00440660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x10c]
jmp 0x728fdf
mov dword [esp + 0x74], ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x44], esi
mov ebx, dword [esp + 0x84]
jmp 0x7290c3
mov ebx, dword [esp + 0x54]
inc ebx
mov ebp, dword [esp + 0x84]
mov ebp, dword [esp + 0x74]
mov esi, edx
mov edx, ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x7c], esi
cmp edx, ecx
jge 0x729111
cmp esi, ebx
jae 0x7294c3
mov ebp, dword [eax + esi*4]
movzx esi, byte [ebp]
cmp edx, ebx
jae 0x7294ba
mov dword [esp + 0x54], edx
mov ebx, dword [eax + edx*4]
movzx edx, byte [ebx]
xchg esi, eax
cmp al, dl
xchg esi, eax
jae 0x7290f8
mov edx, dword [esp + 0x54]
jmp 0x7290a8
jne 0x72910d
mov edx, dword [ebx + 0x18]
cmp dword [ebp + 0x18], edx
setl dl
test dl, dl
jne 0x7290f2
mov edx, dword [esp + 0x7c]
jmp 0x7290a8
xor edx, edx
jmp 0x729103
mov edx, dword [esp + 0x44]
cmp edx, ebx
jae 0x7294b1
mov ebp, dword [eax + edx*4]
mov dword [esp + 0xf8], ebp
lea ebp, [eax + edx*4]
cmp esi, ebx
jae 0x7294a8
mov dword [esp + 0xe8], ebp
mov ebp, dword [0xdd7ec0]
mov ebx, dword [eax + esi*4]
lea esi, [eax + esi*4]
test ebp, ebp
jne 0x7292d1
mov dword [eax + edx*4], ebx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xf8]
mov dword [eax + ebx*4], ebp
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
jmp 0x729191
lea esi, [eax + 1]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x68]
mov eax, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x3c]
mov ebp, esi
cmp ebp, ecx
jge 0x7291fc
mov esi, dword [eax + edx*4]
cmp ebp, ebx
jae 0x72949f
mov dword [esp + 0x48], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0072b480
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10c]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0xdd7ec0]
mov ebp, dword [esp + 0x114]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x7291df
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x72916e
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.00456fe0
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.00456fe0
mov eax, ebx
jmp 0x72916e
mov ecx, dword [eax + edx*4]
mov dword [esp], ecx
call fcn.00727a90
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x10c]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
ja 0x72927f
mov esi, dword [esp + 0x108]
mov dword [esp + 0x40], ebp
mov edi, ebx
mov ebx, dword [0xdd7ec0]
lea ebp, [esi + eax*4]
test ebx, ebx
jne 0x729261
mov dword [esi + eax*4], edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x84]
cmp eax, edx
mov eax, edi
mov ebx, esi
mov ebp, dword [esp + 0x40]
mov esi, ecx
mov ecx, dword [esp + 0x68]
jmp 0x72900f
mov eax, edi
mov edi, ebp
mov ebx, eax
mov eax, edx
call fcn.00456fe0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x84]
cmp eax, edx
mov edi, ebx
jmp 0x72924e
mov dword [esp + 0xf8], edx
lea edx, [0x94ad60]
mov dword [esp], edx
mov ebx, dword [esp + 0x108]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00440660
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x10c]
jmp 0x72922b
mov ebp, edi
mov edi, dword [esp + 0xe8]
mov eax, ebx
call fcn.00456fe0
mov edi, esi
mov eax, dword [esp + 0xf8]
call fcn.00456fe0
mov eax, dword [esp + 0x10c]
mov edi, ebp
jmp 0x72915e
cmp bl, 4
je 0x728ec5
cmp bl, 5
je 0x728ec5
cmp bl, 6
sete dl
jmp 0x728eca
mov eax, ebx
xor ecx, ecx
xor edx, edx
jmp 0x729326
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x729435
mov dword [esp + 0x10c], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x72942e
cmp ecx, edi
jae 0x72948d
mov ebx, dword [eax + ecx*4]
cmp byte [ebx], 2
jne 0x729427
cmp esi, edi
jae 0x729484
mov ebx, dword [eax + ecx*4 + 4]
cmp byte [ebx], 2
jne 0x72936e
mov ecx, dword [esp + 0x10c]
jmp 0x729322
cmp ecx, edi
jae 0x72947b
mov dword [esp + 0x70], esi
lea ebx, [edx + 1]
mov esi, dword [eax + ecx*4]
cmp ebx, ebp
ja 0x7293cd
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x40], ebp
mov ebx, dword [0xdd7ec0]
lea ebp, [ecx + edx*4]
test ebx, ebx
jne 0x7293ba
mov dword [ecx + edx*4], esi
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
jmp 0x729322
mov edx, edi
mov edi, ebp
mov ebx, eax
mov eax, esi
call fcn.00456fe0
mov eax, ebx
mov edi, edx
jmp 0x7293a6
mov dword [esp + 0x6c], edx
mov dword [esp + 0xf8], esi
lea eax, [0x94ad60]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00440660
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x3c]
jmp 0x72938b
cmp ecx, edi
jmp 0x729370
cmp ecx, edi
jmp 0x729370
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], edx
mov dword [esp + 0x12c], ebp
add esp, 0x110
ret
mov eax, dword [esp + 0x118]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
add esp, 0x110
ret
mov eax, ecx
mov ecx, edi
call fcn.00457060
mov eax, esi
mov ecx, edi
call fcn.00457060
mov eax, ecx
mov ecx, edi
call fcn.00457060
mov eax, ecx
mov ecx, edx
call fcn.00457060
mov eax, ebp
mov ecx, ebx
call fcn.00457060
mov eax, esi
mov ecx, ebx
call fcn.00457060
mov eax, edx
mov ecx, ebx
call fcn.00457060
mov eax, edx
mov ecx, ebx
call fcn.00457060
mov eax, esi
mov ecx, ebx
call fcn.00457060
mov eax, esi
mov ecx, edx
call fcn.00457060
mov eax, ecx
mov ecx, edx
call fcn.00457060
mov eax, edi
mov ecx, edx
call fcn.004570c0
mov ecx, edx
mov edx, eax
call fcn.004570a0
mov eax, edi
mov ecx, ebx
call fcn.00457060
mov eax, edi
mov ecx, ebp
call fcn.00457060
xor eax, eax
mov ecx, esi
call fcn.00457060
mov eax, edx
mov ecx, esi
call fcn.00457060
mov ecx, edi
call fcn.004570c0
mov ecx, edi
call fcn.004570a0
mov eax, edx
mov ecx, esi
call fcn.00457060
mov eax, edi
call fcn.00457060
mov ecx, ebx
mov edx, ebp
call fcn.004570a0
mov eax, ebx
mov ecx, esi
call fcn.00457060
mov eax, esi
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.00728040