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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b0
push esi
mov dword [ebp - 0x118], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov byte [ebp - 0xd9], 0
mov byte [ebp - 0xf1], 0
mov byte [ebp - 0xf9], 0
mov byte [ebp - 0x101], 0
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp + 0x10]
add ecx, dword [ebp + 0x18]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x110]
sub edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jne 0x71a038
cmp dword [ebp + 0xc], 0
jne 0x71a038
cmp dword [ebp + 0x10], 0
jne 0x71a038
cmp dword [ebp + 0x14], 0xfffffc19
jne 0x71a038
cmp dword [ebp + 0x18], 0xfffffc19
jne 0x71a038
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.0071b910
add esp, 0x1c
jmp 0x71b8ed
mov ecx, dword [ebp + 0x1c]
and ecx, 0xe20f5a6f
je 0x71a04d
mov eax, 0xfffffffd
jmp 0x71b8ed
cmp dword [ebp - 0x10c], 0
je 0x71a068
cmp dword [ebp + 0x10], 0
je 0x71a068
cmp dword [ebp + 0x20], 0
jne 0x71a072
cmp dword [ebp + 0x24], 0
jle 0x71a072
mov eax, 0xfffffffe
jmp 0x71b8ed
cmp dword [ebp + 0x24], 0
jge 0x71a082
mov eax, 0xfffffff1
jmp 0x71b8ed
cmp dword [ebp + 0x14], 0
jge 0x71a092
mov eax, 0xffffffe0
jmp 0x71b8ed
cmp dword [ebp + 0x18], 0
jl 0x71a0a0
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jle 0x71a0aa
mov eax, 0xffffffe8
jmp 0x71b8ed
mov eax, dword [ebp - 0x10c]
cmp dword [eax], 0x50435245
je 0x71a0d4
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx]
sub eax, 0x45524350
neg eax
sbb eax, eax
and eax, 0x19
add eax, 0xffffffe3
jmp 0x71b8ed
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xc]
and eax, 1
jne 0x71a0ec
mov eax, 0xffffffe4
jmp 0x71b8ed
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 8]
and edx, 0x800
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp + 0x1c]
and eax, 0x8000000
je 0x71a12f
mov dword [ebp - 0x15c], 2
jmp 0x71a144
mov ecx, dword [ebp + 0x1c]
and ecx, 0x8000
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x15c]
mov dword [edx + 0x88], eax
cmp dword [ebp - 0x108], 0
je 0x71a21b
mov ecx, dword [ebp + 0x1c]
and ecx, 0x2000
jne 0x71a21b
lea edx, [ebp - 0x124]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00744750
add esp, 0xc
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x71a1ee
cmp dword [ebp + 0x24], 2
jl 0x71a1b5
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x124]
mov dword [edx], eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x120]
mov dword [ecx + 4], edx
cmp dword [ebp - 0x120], 5
jg 0x71a1d9
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x88], 1
jle 0x71a1d9
mov dword [ebp - 0x160], 0xffffffe7
jmp 0x71a1e3
mov dword [ebp - 0x160], 0xfffffff6
mov eax, dword [ebp - 0x160]
jmp 0x71b8ed
cmp dword [ebp + 0x18], 0
jle 0x71a21b
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp + 0x14]
jge 0x71a21b
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x18]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x71a21b
mov eax, 0xfffffff5
jmp 0x71b8ed
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx + 0x22]
add edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx + 0x26]
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x20], edx
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx + 0x24]
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x24], edx
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 4], 0x989680
mov edx, dword [ebp - 0xf0]
mov dword [edx + 8], 0x989680
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0xa8], 0
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x100], edx
cmp dword [ebp + 0xc], 0
je 0x71a331
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x128]
and edx, 1
je 0x71a2c9
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0x128]
and edx, 2
je 0x71a2e3
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 8]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x128]
and eax, 0x10
je 0x71a2fd
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x128]
and ecx, 4
je 0x71a31a
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xa8], ecx
mov edx, dword [ebp - 0x128]
and edx, 8
je 0x71a331
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xc]
and eax, 0x2000
je 0x71a367
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 4]
jae 0x71a367
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0x10]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0xc]
and edx, 0x4000
je 0x71a39e
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [eax + 0x14]
cmp edx, dword [ecx + 8]
jae 0x71a39e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 8], edx
cmp dword [ebp - 0x100], 0
jne 0x71a3b1
mov dword [ebp - 0x100], 0x800b88
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 8]
or ecx, dword [ebp + 0x1c]
and ecx, 0x10
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xc]
and eax, 0x100
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 8]
and edx, 0x40000
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax + 0x22]
add ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx + 0x26]
mov edx, dword [ebp - 0x10c]
movzx edx, word [edx + 0x24]
imul eax, edx
add ecx, eax
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x70], ecx
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp + 0x10]
mov dword [ecx + 0x74], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x94], ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x74]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x78], eax
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 8]
and edx, 0x20
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x58], edx
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 8]
and edx, 0x20000000
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x54], edx
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 8]
and edx, 0x2000000
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp + 0x1c]
and edx, 0x80
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp + 0x1c]
and ecx, 0x100
neg ecx
sbb ecx, ecx
neg ecx
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp + 0x1c]
and eax, 0x400
neg eax
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp + 0x1c]
and edx, 0x10000000
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x60], edx
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x64], 0
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0xb0], 0
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0xac], 0
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0xa4], 0
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xc]
and eax, 0x1000
neg eax
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x6c], eax
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x100]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 0x100]
add ecx, 0x100
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x100]
add eax, 0x340
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x40], eax
mov edx, dword [ebp + 0x1c]
and edx, 0x1800000
mov dword [ebp - 0x164], edx
je 0x71a5ec
cmp dword [ebp - 0x164], 0x800000
je 0x71a62b
cmp dword [ebp - 0x164], 0x1000000
je 0x71a63a
jmp 0x71a649
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 8]
and ecx, 0x1800000
je 0x71a61c
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 8]
and eax, 0x800000
neg eax
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x68], eax
jmp 0x71a629
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x68], 0
jmp 0x71a653
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x68], 1
jmp 0x71a653
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x68], 0
jmp 0x71a653
mov eax, 0xffffffe9
jmp 0x71b8ed
mov edx, dword [ebp + 0x1c]
and edx, fcn.00700000
jne 0x71a66f
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x168], ecx
jmp 0x71a678
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x168]
and eax, fcn.00700000
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0x300000
ja 0x71a6c4
cmp dword [ebp - 0x16c], 0x300000
je 0x71a6f9
cmp dword [ebp - 0x16c], 0
je 0x71a6de
cmp dword [ebp - 0x16c], 0x100000
je 0x71a6e7
cmp dword [ebp - 0x16c], 0x200000
je 0x71a6f0
jmp 0x71a714
cmp dword [ebp - 0x16c], 0x400000
je 0x71a702
cmp dword [ebp - 0x16c], 0x500000
je 0x71a70b
jmp 0x71a714
mov dword [ebp - 0x14], 0xa
jmp 0x71a71e
mov dword [ebp - 0x14], 0xd
jmp 0x71a71e
mov dword [ebp - 0x14], 0xa
jmp 0x71a71e
mov dword [ebp - 0x14], 0xd0a
jmp 0x71a71e
mov dword [ebp - 0x14], 0xffffffff
jmp 0x71a71e
mov dword [ebp - 0x14], 0xfffffffe
jmp 0x71a71e
mov eax, 0xffffffe9
jmp 0x71b8ed
cmp dword [ebp - 0x14], 0xfffffffe
jne 0x71a733
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x18], 2
jmp 0x71a7ad
cmp dword [ebp - 0x14], 0
jge 0x71a748
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x18], 1
jmp 0x71a7ad
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x18], 0
cmp dword [ebp - 0x14], 0xff
jle 0x71a794
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp - 0x14]
sar edx, 8
and edx, 0xff
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0x34], dl
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov edx, dword [ebp - 0xf0]
mov byte [edx + 0x35], cl
jmp 0x71a7ad
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp - 0xf0]
mov dl, byte [ebp - 0x14]
mov byte [ecx + 0x34], dl
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x88], 0
je 0x71a7d7
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0xc]
and edx, 0x200
je 0x71a7d7
mov eax, 0xfffffff3
jmp 0x71b8ed
mov eax, dword [ebp + 0x24]
cdq
mov ecx, 3
idiv ecx
mov eax, dword [ebp + 0x24]
sub eax, edx
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
shl eax, 1
cdq
mov ecx, 3
idiv ecx
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx + 0x20]
test eax, eax
jle 0x71a881
mov ecx, dword [ebp - 0x10c]
movzx ecx, word [ecx + 0x20]
mov eax, dword [ebp - 0xe4]
cdq
mov esi, 3
idiv esi
cmp ecx, eax
jl 0x71a881
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx + 0x20]
imul eax, eax, 3
add eax, 3
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
shl ecx, 2
push ecx
call dword [0x85e828]
add esp, 4
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0xc], 0
jne 0x71a875
mov eax, 0xfffffffa
jmp 0x71b8ed
mov dword [ebp - 0x118], 1
jmp 0x71a88d
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp + 0x20]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xe4]
shl eax, 1
cdq
mov ecx, 3
idiv ecx
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x90], 0
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0xc], 0
je 0x71a984
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xe4]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax + 0x1e]
shl ecx, 2
mov edx, dword [ebp - 0x130]
sub edx, ecx
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0xc]
add ecx, 8
cmp dword [ebp - 0x12c], ecx
jae 0x71a92e
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xc]
add eax, 8
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x130]
sub ecx, 4
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x12c]
jb 0x71a959
mov eax, dword [ebp - 0x130]
mov dword [eax], 0xffffffff
jmp 0x71a92e
cmp dword [ebp + 0x24], 0
jle 0x71a96e
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0xc]
mov dword [edx], 0xffffffff
cmp dword [ebp + 0x24], 1
jle 0x71a984
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 4], 0xffffffff
cmp dword [ebp - 0x11c], 0
jne 0x71aa16
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xc]
and eax, 0x10
je 0x71a9ea
mov dword [ebp - 8], 1
mov ecx, dword [ebp - 0x10c]
mov dl, byte [ecx + 0x18]
mov byte [ebp - 0xf1], dl
mov al, byte [ebp - 0xf1]
mov byte [ebp - 0xd9], al
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0xc]
and edx, 0x20
je 0x71a9e8
movzx eax, byte [ebp - 0xd9]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x3c]
mov al, byte [eax + edx]
mov byte [ebp - 0xf1], al
jmp 0x71aa16
cmp dword [ebp - 0x10], 0
jne 0x71aa16
cmp dword [ebp - 0xf8], 0
je 0x71aa16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
and edx, 1
je 0x71aa16
mov eax, dword [ebp - 0xf8]
add eax, 8
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0xc]
and edx, 0x40
je 0x71aa70
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x10c]
mov cl, byte [eax + 0x1a]
mov byte [ebp - 0x101], cl
mov dl, byte [ebp - 0x101]
mov byte [ebp - 0xf9], dl
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0xc]
and ecx, 0x80
je 0x71aa70
movzx edx, byte [ebp - 0xf9]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x3c]
mov dl, byte [edx + ecx]
mov byte [ebp - 0x101], dl
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x114], 0
je 0x71ad24
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x13c], ecx
cmp dword [ebp - 0x108], 0
je 0x71abf9
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x13c]
cmp eax, dword [edx + 0x78]
jae 0x71abf4
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x18], 0
je 0x71ab2d
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x13c]
cmp eax, dword [edx + 0x78]
jae 0x71ab15
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0xf0]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.00745780
add esp, 0x14
test eax, eax
je 0x71ab15
mov dword [ebp - 0x170], 1
jmp 0x71ab1f
mov dword [ebp - 0x170], 0
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x174], edx
jmp 0x71aba4
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp - 0x13c], edx
ja 0x71ab8e
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x71ab8e
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x1c], 1
je 0x71ab82
mov edx, dword [ebp - 0x13c]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [ecx + 0x35]
cmp eax, edx
jne 0x71ab8e
mov dword [ebp - 0x178], 1
jmp 0x71ab98
mov dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0
jne 0x71abf4
mov ecx, dword [ebp - 0x13c]
add ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x20]
jae 0x71abef
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x71abef
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x13c], edx
jmp 0x71abbc
jmp 0x71aa9f
jmp 0x71ad1b
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [eax + 0x78]
jae 0x71ad1b
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x18], 0
je 0x71ac87
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [eax + 0x78]
jae 0x71ac6f
mov edx, dword [ebp - 0x108]
push edx
mov eax, dword [ebp - 0xf0]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x78]
push edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call fcn.00745780
add esp, 0x14
test eax, eax
je 0x71ac6f
mov dword [ebp - 0x17c], 1
jmp 0x71ac79
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
jmp 0x71acfe
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + 0x78]
sub eax, dword [edx + 0x1c]
cmp dword [ebp - 0x13c], eax
ja 0x71ace8
mov ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xf0]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x71ace8
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x1c], 1
je 0x71acdc
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x71ace8
mov dword [ebp - 0x184], 1
jmp 0x71acf2
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0
jne 0x71ad1b
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x13c], edx
jmp 0x71abf9
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp + 0x1c]
or edx, dword [ecx + 8]
and edx, 0x4000000
jne 0x71b154
cmp dword [ebp - 8], 0
je 0x71addd
movzx eax, byte [ebp - 0xd9]
movzx ecx, byte [ebp - 0xf1]
cmp eax, ecx
je 0x71ada8
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x20]
jae 0x71ada6
mov eax, dword [ebp - 0x110]
mov cl, byte [eax]
mov byte [ebp - 0x13d], cl
movzx edx, byte [ebp - 0x13d]
movzx eax, byte [ebp - 0xd9]
cmp edx, eax
je 0x71ada6
movzx ecx, byte [ebp - 0x13d]
movzx edx, byte [ebp - 0xf1]
cmp ecx, edx
je 0x71ada6
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
jmp 0x71ad58
jmp 0x71add8
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x20]
jae 0x71add8
mov edx, dword [ebp - 0x110]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xd9]
cmp eax, ecx
je 0x71add8
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
jmp 0x71ada8
jmp 0x71b154
cmp dword [ebp - 0x10], 0
je 0x71b0f7
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x74]
add ecx, dword [ebp + 0x18]
cmp dword [ebp - 0x110], ecx
jbe 0x71b0f5
cmp dword [ebp - 0x108], 0
je 0x71af75
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x20]
jae 0x71af70
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x18], 0
je 0x71ae97
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x110]
cmp edx, dword [ecx + 0x74]
jbe 0x71ae7c
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0xf0]
add ecx, 0x1c
push ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x74]
push eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x110]
push eax
call fcn.00745a20
add esp, 0x14
test eax, eax
je 0x71ae7c
mov dword [ebp - 0x188], 1
jmp 0x71ae86
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x18c], ecx
jmp 0x71af20
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x74]
mov ecx, dword [ebp - 0xf0]
add eax, dword [ecx + 0x1c]
cmp dword [ebp - 0x110], eax
jb 0x71af0a
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x110]
sub eax, dword [edx + 0x1c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x71af0a
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x1c], 1
je 0x71aefe
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x110]
sub eax, dword [edx + 0x1c]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x71af0a
mov dword [ebp - 0x190], 1
jmp 0x71af14
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x18c], 0
jne 0x71af70
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x20]
jae 0x71af6b
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x71af6b
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
jmp 0x71af38
jmp 0x71ae0c
jmp 0x71b0a6
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x20]
jae 0x71b0a6
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x18], 0
je 0x71b000
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [eax + 0x74]
jbe 0x71afe5
mov edx, dword [ebp - 0x108]
push edx
mov eax, dword [ebp - 0xf0]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x74]
push edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call fcn.00745a20
add esp, 0x14
test eax, eax
je 0x71afe5
mov dword [ebp - 0x194], 1
jmp 0x71afef
mov dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
jmp 0x71b089
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x74]
mov eax, dword [ebp - 0xf0]
add edx, dword [eax + 0x1c]
cmp dword [ebp - 0x110], edx
jb 0x71b073
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x110]
sub edx, dword [ecx + 0x1c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [ecx + 0x34]
cmp eax, edx
jne 0x71b073
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x1c], 1
je 0x71b067
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x110]
sub edx, dword [ecx + 0x1c]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [ecx + 0x35]
cmp eax, edx
jne 0x71b073
mov dword [ebp - 0x19c], 1
jmp 0x71b07d
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jne 0x71b0a6
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov dword [ebp - 0x110], ecx
jmp 0x71af75
mov edx, dword [ebp - 0x110]
movzx eax, byte [edx - 1]
cmp eax, 0xd
jne 0x71b0f5
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x18], 1
je 0x71b0cd
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x18], 2
jne 0x71b0f5
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x20]
jae 0x71b0f5
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x71b0f5
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
jmp 0x71b154
cmp dword [ebp - 0xec], 0
je 0x71b154
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x20]
jae 0x71b154
mov edx, dword [ebp - 0x110]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x144]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x144]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
je 0x71b143
jmp 0x71b154
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
jmp 0x71b100
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp + 0x1c]
or eax, dword [edx + 8]
and eax, 0x4000000
jne 0x71b2d5
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x88], 0
jne 0x71b2d5
cmp dword [ebp - 0xf8], 0
je 0x71b1be
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
and eax, 2
je 0x71b1be
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xf8]
cmp ecx, dword [edx + 0x28]
jae 0x71b1be
mov dword [ebp - 0xc], 0
jmp 0x71b64a
cmp dword [ebp - 4], 0
je 0x71b2d5
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x110]
cmp eax, 0x3e8
jge 0x71b2d5
xor ecx, ecx
cmp dword [ebp - 8], 0
setne cl
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0xe8]
jbe 0x71b2d5
movzx eax, byte [ebp - 0xf9]
movzx ecx, byte [ebp - 0x101]
cmp eax, ecx
je 0x71b271
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x20]
jae 0x71b26f
mov eax, dword [ebp - 0x148]
movzx ecx, byte [eax]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
movzx eax, byte [ebp - 0xf9]
cmp dword [ebp - 0x14c], eax
je 0x71b25c
movzx ecx, byte [ebp - 0x101]
cmp dword [ebp - 0x14c], ecx
jne 0x71b26d
mov edx, dword [ebp - 0x148]
sub edx, 1
mov dword [ebp - 0x148], edx
jmp 0x71b26f
jmp 0x71b215
jmp 0x71b2b2
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x20]
jae 0x71b2b2
movzx ecx, byte [ebp - 0xf9]
mov edx, dword [ebp - 0x148]
movzx eax, byte [edx]
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
cmp eax, ecx
jne 0x71b2b0
mov eax, dword [ebp - 0x148]
sub eax, 1
mov dword [ebp - 0x148], eax
jmp 0x71b2b2
jmp 0x71b271
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0x20]
jb 0x71b2c9
mov dword [ebp - 0xc], 0
jmp 0x71b64a
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x110]
mov dword [eax + 0x7c], ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x110]
mov dword [edx + 0x84], eax
mov ecx, dword [ebp - 0xf0]
mov dword [ecx], 0
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x98], 0
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x8c], 0
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x28], 0
push 0
push 0
mov edx, dword [ebp - 0xf0]
push edx
push 2
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x70]
push edx
mov eax, dword [ebp - 0x110]
push eax
call fcn.0071b910
add esp, 0x1c
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x64], 0
je 0x71b389
cmp dword [ebp - 0x1c], 0
jne 0x71b389
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x84]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x1a0], edx
cmp dword [ebp - 0x1a0], 0
jg 0x71b3cf
cmp dword [ebp - 0x1a0], 0
je case.0x71b3c8.1
mov eax, dword [ebp - 0x1a0]
add eax, 0x3e4
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 4
ja case.default.0x71b3c8
mov ecx, dword [ebp - 0x1a0]
jmp dword [ecx*4 + 0x71b8f4]
jmp case.default.0x71b3c8
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x28]
mov dword [eax + 0x2c], edx
jmp 0x71b484
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [ebp - 0x110]
jbe case.0x71b3c8.1
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x7c]
mov dword [ebp - 0x134], eax
jmp 0x71b484
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x134], edx
cmp dword [ebp - 0x108], 0
je 0x71b471
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x20]
jae 0x71b471
mov ecx, dword [ebp - 0x134]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x71b471
mov eax, dword [ebp - 0x134]
add eax, 1
mov dword [ebp - 0x134], eax
jmp 0x71b43e
jmp 0x71b484
mov dword [ebp - 0xc], 0
jmp 0x71b64a
jmp 0x71b64a
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0x114], 0
je 0x71b596
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x18], 0
je 0x71b511
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x110]
cmp eax, dword [edx + 0x78]
jae 0x71b4f9
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0xf0]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.00745780
add esp, 0x14
test eax, eax
je 0x71b4f9
mov dword [ebp - 0x1a4], 1
jmp 0x71b503
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], edx
jmp 0x71b588
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp - 0x110], edx
ja 0x71b572
mov eax, dword [ebp - 0x110]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x71b572
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x1c], 1
je 0x71b566
mov edx, dword [ebp - 0x110]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [ecx + 0x35]
cmp eax, edx
jne 0x71b572
mov dword [ebp - 0x1ac], 1
jmp 0x71b57c
mov dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x71b596
jmp 0x71b64a
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x11c], 0
jne 0x71b5b6
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x20]
jbe 0x71b5bb
jmp 0x71b64a
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x18]
cmp dword [ebp - 0x110], eax
jbe 0x71b635
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx - 1]
cmp edx, 0xd
jne 0x71b635
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x20]
jae 0x71b635
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x71b635
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0xc]
and ecx, 0x800
jne 0x71b635
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x18], 1
je 0x71b626
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x18], 2
je 0x71b626
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x1c], 2
jne 0x71b635
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0xac], 0
jmp 0x71aa70
cmp dword [ebp - 0xc], 1
je 0x71b65d
cmp dword [ebp - 0xc], 0xfffffc19
jne 0x71b844
cmp dword [ebp - 0x118], 0
je 0x71b6dd
cmp dword [ebp - 0xe0], 4
jl 0x71b699
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx*4 - 8]
push edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0xc]
add ecx, 8
push ecx
mov edx, dword [ebp + 0x20]
add edx, 8
push edx
call fcn.004909c0
add esp, 0xc
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [ebp - 0xe0]
jle 0x71b6ca
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x90]
or eax, 0x10000
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xc]
push eax
call dword [0x85e82c]
add esp, 4
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x90]
and edx, 0x10000
je 0x71b711
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [ebp - 0xe0]
jl 0x71b711
mov dword [ebp - 0x1b0], 0
jmp 0x71b728
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x8c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + 0x8c]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x10c]
movzx ecx, word [edx + 0x1e]
cmp eax, ecx
jg 0x71b7d7
cmp dword [ebp + 0x20], 0
je 0x71b7d7
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx + 0x1e]
lea ecx, [eax + eax + 2]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x158]
cmp edx, dword [ebp + 0x24]
jle 0x71b782
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x8c]
mov eax, dword [ebp + 0x20]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp + 0x20]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x150]
jae 0x71b7d7
mov eax, dword [ebp - 0x154]
mov dword [eax], 0xffffffff
mov ecx, dword [ebp - 0x154]
add ecx, 4
mov dword [ebp - 0x154], ecx
jmp 0x71b7ac
cmp dword [ebp + 0x24], 2
jge 0x71b7e6
mov dword [ebp - 0xc], 0
jmp 0x71b818
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [edx + 0x7c]
sub ecx, dword [eax + 0x74]
mov edx, dword [ebp + 0x20]
mov dword [edx], ecx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [eax + 0x80]
sub edx, dword [ecx + 0x74]
mov eax, dword [ebp + 0x20]
mov dword [eax + 4], edx
cmp dword [ebp + 0xc], 0
je 0x71b83c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
and edx, 0x20
je 0x71b83c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xac]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
jmp 0x71b8ed
cmp dword [ebp - 0x118], 0
je 0x71b860
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0xc]
push edx
call dword [0x85e82c]
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x71b871
cmp dword [ebp - 0xc], 0xfffffff4
je 0x71b871
mov eax, dword [ebp - 0xc]
jmp 0x71b8ed
cmp dword [ebp - 0x18], 0
je 0x71b8bf
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0xac], 0
cmp dword [ebp + 0x24], 1
jle 0x71b8b6
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x20]
mov dword [edx], ecx
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 4], eax
cmp dword [ebp + 0x24], 2
jle 0x71b8b6
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x20]
mov dword [eax + 8], edx
mov dword [ebp - 0xc], 0xfffffff4
jmp 0x71b8c6
mov dword [ebp - 0xc], 0xffffffff
cmp dword [ebp + 0xc], 0
je 0x71b8ea
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
and edx, 0x20
je 0x71b8ea
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xb0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
pop esi
mov esp, ebp
pop ebp
ret