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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x13c
mov edi, dword [eax + 8]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], edi
mov eax, dword [eax]
mov word [esp + 0x58], cx
mov dword [esp + 0x40], edx
xor edx, edx
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + eax + 0xb8], edx
add eax, 4
cmp eax, 0x18
jb 0x730711
mov eax, dword [esp + 0x150]
test eax, eax
je 0x73073b
mov eax, dword [esp + 0x150]
cmp dword [eax], 0x3f
jg 0x730a97
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
cmp eax, 0x40
jg 0x733844
test byte [esp + 0x58], 0x20
je 0x730a70
mov dword [esp + 0x68], 1
mov edx, 0x3a8
xor ecx, ecx
mov esi, 0x358
mov edi, dword [esp + 0x64]
mov eax, edi
call fcn.006cec40
mov dword [esp + 0x50], eax
movzx eax, byte [edi + 0x57]
test al, al
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0x50]
jne 0x7321bd
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x18], 0xffffffff
sub esp, 4
mov ebp, dword [esp + 0x6c]
mov dword [eax + 0x14], 0xffffffff
mov dword [eax + 4], edi
mov edi, dword [esp + 0x154]
mov dword [eax], edx
mov dword [eax + 8], edi
mov edi, dword [esp + 0x158]
mov dword [eax + 0xc], edi
mov edi, eax
mov eax, ebp
mov byte [edi + 0x2c], al
mov eax, dword [edx + 0x38]
mov dword [esp + 8], eax
sub eax, 1
mov dword [edx + 0x38], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
movzx eax, word [esp + 0x5c]
mov word [edi + 0x28], ax
movzx eax, word [esp + 0x164]
mov word [edi + 0x2a], ax
movsx eax, word [edx + 0x9c]
mov edx, edi
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x15c]
mov dword [edi + 0x2d], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x10], eax
lea eax, [edi + 0x2d]
lea edi, [edi + 0x31]
and edi, 0xfffffffc
sub eax, edi
lea ecx, [eax + 0x23]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [ebp + ebp*2]
mov edi, edx
lea edx, [edx + 0x2f8]
shl eax, 5
mov dword [esp + 0x70], edx
add esi, edi
add eax, 0x50
mov dword [esp + 0x64], edx
push eax
push 0
push edx
call fcn.00798618
lea eax, [edi + 0x50]
mov ecx, 0x2c
mov edx, ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0xcc], eax
lea eax, [esi + 0x40]
mov dword [edi + 0x1f4], 0
mov dword [edi + 0x1f8], 0xffffff9d
mov dword [esi + 0x38], eax
xor eax, eax
mov word [esi + 0x30], ax
mov eax, 3
mov word [esi + 0x34], ax
lea eax, [edi + 0x70]
mov dword [esi + 0x2c], 0
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0x50], edi
mov byte [edi + 0x59], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x60], 8
mov dword [esp + 0xc8], edi
mov dword [esp + 0xd0], esi
call fcn.006d00b0
add esp, 0x10
test ebp, ebp
jne 0x731fc9
mov eax, dword [esp + 0x150]
test eax, eax
je 0x7308fa
mov eax, dword [esp + 0x150]
mov eax, dword [eax]
mov byte [edi + 0x2d], al
test word [esp + 0x58], 0x100
jne 0x7321e7
sub esp, 4
push 0xa33c7f
push 0
push dword [esp + 0x20]
call fcn.006f1ca0
add esp, 0x10
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x5c]
mov ebx, eax
mov dword [esp + 4], eax
sub ebx, 1
js 0x730950
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
lea esi, [esi]
nop
mov ecx, ebx
mov edx, esi
mov eax, edi
call fcn.0073eec0
sub ebx, 1
jae 0x730940
mov ebx, dword [esp + 0x158]
test ebx, ebx
je 0x730974
mov eax, dword [esp + 0x158]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x730974
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.006e3720
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x54], eax
test eax, eax
jne 0x730b00
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x68]
xor esi, esi
xor ebp, ebp
mov edx, dword [eax + 0x14]
test edx, edx
jg 0x7309e6
jmp 0x730b32
test byte [edx + 4], 2
je 0x7309b8
mov eax, dword [esp + 0x40]
test byte [eax + 0x2c], 0x40
jne 0x7309d3
push 0x10
mov eax, dword [esp + 0x54]
push dword [eax + 0x20]
push edx
push dword [esp + 0x20]
call fcn.0073add0
or word [ebx + 0xa], 4
add esp, 0x10
mov eax, dword [esp + 0xbc]
add esi, 1
cmp dword [eax + 0x14], esi
jle 0x730b32
lea ebx, [esi + esi*2]
shl ebx, 4
add ebx, dword [eax + 0x18]
test byte [ebx + 0xa], 2
jne 0x7309da
mov edx, dword [ebx + 0x2c]
or edx, dword [ebx + 0x28]
jne 0x7309da
mov edx, dword [ebx]
test edi, edi
je 0x7309a8
xor eax, eax
mov dword [esp + eax + 0xd0], ebp
add eax, 4
cmp eax, 0x1c
jb 0x730a05
mov dword [esp + 0xd4], 0x6ba0d0
mov eax, 1
mov word [esp + 0xe4], ax
mov dword [esp + 0xd8], 0x6b1210
test edx, edx
je 0x7309a8
lea eax, [esp + 0xd0]
mov dword [esp + 4], edx
call fcn.006ca6c0
mov edx, dword [esp + 4]
cmp word [esp + 0xe4], 0
je 0x7309d3
jmp 0x7309a8
mov eax, dword [esp + 0x68]
cmp eax, 1
jle 0x7333fa
lea eax, [eax + eax*2 - 3]
xor ecx, ecx
shl eax, 5
lea esi, [eax + 0x358]
lea edx, [eax + 0x3a8]
jmp 0x73076d
mov dword [esp + 0x150], 0
mov eax, ecx
and ah, 0xfe
mov word [esp + 0x58], ax
jmp 0x73073b
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
lea ebx, [eax + 0x40]
cmp edx, ebx
je 0x730d2f
mov esi, dword [esp + 0x48]
mov eax, esi
call fcn.006bf870
mov edi, dword [esp + 0x10]
mov eax, esi
xor esi, esi
mov dword [edi + 0x38], ebx
mov ebx, 3
mov edx, edi
mov word [edi + 0x34], bx
call fcn.006bf960
mov word [edi + 0x30], si
mov dword [edi + 0x2c], 0
mov edi, dword [esp + 0x54]
test edi, edi
je 0x730d4b
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
mov word [edi + 0x9c], ax
mov eax, dword [esp + 0x64]
call fcn.006c4d70
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
add esp, 0x13c
pop ebx
pop esi
pop edi
pop ebp
ret
test word [esp + 0x58], 0x100
je 0x730b5a
mov eax, dword [esp + 0x64]
test byte [eax + 0x50], 0x10
je 0x73222d
mov eax, dword [esp + 0x50]
and word [esp + 0x58], 0xfeff
and word [eax + 0x28], 0xfeff
mov ebx, dword [esp + 0xb8]
cmp dword [esp + 0x68], 1
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
je 0x73340b
movzx eax, byte [ebx + 0x2c]
mov edi, dword [esp + 4]
lea eax, [eax + eax*8]
lea edx, [edi + eax*8 + 8]
mov eax, dword [ebx]
mov dword [esp + 8], edx
mov eax, dword [eax]
mov dword [esp + 0xcc], 0x4e20
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
lea eax, [edi + 8]
cmp edx, eax
jbe 0x730ab1
add edi, 0x50
mov dword [esp + 0x34], 0
mov eax, 0x4e20
mov dword [esp + 4], edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
lea esi, [esi]
nop
mov edi, dword [esp + 0x10]
movzx edx, byte [esp + 0x30]
add eax, 0x3e8
mov byte [edi + 0x10], dl
xor edx, edx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 4]
mov esi, dword [eax - 0x1c]
mov eax, dword [ebx + 0x1f8]
mov edi, eax
mov dword [esp + 0x18], eax
mov eax, 1
cmp esi, edi
je 0x730c6d
mov eax, dword [ebx + 0x1f4]
cmp eax, 1
jle 0x731f60
mov ecx, 1
jmp 0x730c53
add ecx, 1
cmp ecx, eax
je 0x731f60
cmp esi, dword [ebx + ecx*4 + 0x1f8]
jne 0x730c48
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
mov edi, dword [esp + 0x10]
mov dword [edi + 8], eax
mov eax, dword [esp + 4]
mov dword [edi + 0xc], edx
mov edx, dword [esp + 0x28]
movzx eax, byte [eax - 0x24]
test edx, edx
jne 0x731e88
test al, 0x62
jne 0x731e88
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
test eax, eax
mov eax, dword [esp + 0x1c]
cmove eax, edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
cmove eax, edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 4]
mov eax, dword [eax - 0x38]
cmp byte [eax + 0x2b], 1
je 0x731ec3
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
xor esi, esi
xor edi, edi
lea eax, [esp + 0xb8]
call fcn.006f93d0
test eax, eax
jne 0x731e30
mov eax, dword [esp + 0xbc]
cmp byte [eax + 9], 0
jne 0x731f8e
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
or dword [esp + 0x38], edx
or dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
cmp byte [eax + 0x57], 0
je 0x731e5d
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], 0
mov edx, dword [eax + 0x38]
lea ebx, [eax + 0x40]
cmp ebx, edx
jne 0x730ac3
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov edx, edi
call fcn.006bf960
xor edx, edx
mov dword [edi + 0x2c], 0
mov word [edi + 0x30], dx
mov edi, dword [esp + 0x50]
xor edx, edx
mov eax, edi
call fcn.006ef720
mov ebx, dword [esp + 0x64]
cmp byte [ebx + 0x57], 0
jne 0x730b00
mov ecx, dword [edi + 8]
mov eax, edi
test ecx, ecx
je 0x732202
movzx edi, word [edi + 0x34]
lea edx, [edi + 1]
mov word [esp + 4], di
mov edi, eax
movsx edx, dx
call fcn.006ef720
cmp byte [ebx + 0x57], 0
jne 0x730b00
mov eax, dword [edi + 8]
test byte [edi + 0x29], 1
je 0x730da1
sub word [edi + 0x34], 0x1e
test eax, eax
je 0x732211
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x54], eax
test eax, eax
jne 0x730b00
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + 0x2c]
cmp al, 1
jbe 0x733654
mov edx, dword [esp + 0x154]
test edx, edx
je 0x733654
mov eax, dword [esp + 0x64]
test word [esp + 0x58], 0x400
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov eax, dword [eax + 0x50]
jne 0x730e04
test ah, 1
je 0x7343e8
test eax, 0x80000
je 0x733ccf
mov edi, dword [esp + 0x50]
mov eax, dword [edi]
movzx edx, word [edi + 0x34]
add word [eax + 0x9c], dx
movzx edx, word [esp + 0x58]
mov eax, edx
mov dword [esp + 0x94], edx
test al, 4
je 0x730e61
mov ecx, dword [edi + 0x348]
mov eax, dword [ecx + 0x2c]
test ah, 0x10
je 0x733b32
mov edi, dword [esp + 0x40]
mov ebx, 1
mov edx, dword [edi + 0x18]
mov edi, dword [esp + 0x50]
mov byte [edi + 0x2e], bl
test byte [edx + 0x1c], 0x80
je 0x73436a
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x734a20
mov edi, dword [esp + 0x50]
lea eax, [eax + eax*2]
mov ebp, dword [esp + 0x60]
shl eax, 5
lea eax, [edi + eax + 0x2f8]
mov dword [esp + 0x18], eax
lea esi, [esi]
lea esi, [esi]
movzx esi, byte [ebp + 0x3c]
mov edi, dword [esp + 0x40]
lea eax, [esi + esi*8]
mov edi, dword [edi + eax*8 + 0x18]
mov edx, dword [edi + 0x3c]
test edx, edx
je 0x734c76
mov eax, dword [esp + 0x64]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
cmp edx, dword [ecx + 0xc]
je 0x730ece
lea esi, [esi]
nop
add ebx, 1
mov eax, ebx
shl eax, 4
cmp edx, dword [ecx + eax + 0xc]
jne 0x730ec0
mov eax, dword [ebp + 0x50]
mov edx, dword [edi + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [eax + 0x2c]
mov dword [esp + 8], edx
and dh, 0x40
jne 0x730fb0
movzx ecx, byte [edi + 0x2b]
cmp cl, 2
je 0x730fb0
test ah, 4
jne 0x733396
cmp cl, 1
je 0x730fb0
test al, 0x40
jne 0x730f12
test byte [esp + 0x58], 0x20
je 0x730f24
mov edx, dword [esp + 0x40]
lea ecx, [esi + esi*8]
test byte [edx + ecx*8 + 0x2c], 0x50
je 0x7338ba
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*8]
cmp byte [ecx + 0x2e], 0
mov edx, dword [edx + eax*8 + 0x34]
mov eax, 0x70
je 0x730f46
mov dword [ecx + 0x14], edx
mov eax, 0x71
sub esp, 8
mov ecx, ebx
push eax
push edi
mov eax, dword [esp + 0x24]
call fcn.006e6a60
mov eax, dword [esp + 0x60]
add esp, 0x10
cmp byte [eax + 0x2e], 0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x2c]
jne 0x730f8a
cmp word [edi + 0x22], 0x3f
jg 0x730f8a
mov edx, dword [edi + 0x1c]
mov ecx, eax
and ecx, 0x404000
and edx, 0xe0
or edx, ecx
je 0x734439
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x6c]
test edx, edx
jle 0x730fb0
lea edx, [edx + edx*4]
shl edx, 2
add edx, dword [ecx + 0x68]
movzx ecx, byte [esp + 0x5c]
mov word [edx - 0x12], cx
lea esi, [esi]
nop
test ah, 2
je 0x731068
mov eax, dword [edi + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], eax
test byte [esp + 8], 0x80
je 0x730fe5
movzx eax, byte [eax + 0x38]
mov byte [esp + 8], al
and eax, 3
cmp al, 2
je 0x7333e4
mov eax, dword [esp + 0x50]
cmp byte [eax + 0x2e], 0
jne 0x7330b2
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x7329c8
test byte [esp + 0x58], 0x20
je 0x7329c8
mov eax, dword [esp + 0x160]
mov edx, 0x65
mov dword [ebp + 8], eax
mov dword [esp + 8], eax
sub esp, 8
push ebx
mov eax, dword [esp + 0x1c]
push dword [eax + 0x2c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
call fcn.006e6a00
mov ecx, dword [esp + 0x14]
add esp, 0x10
mov eax, dword [ecx + 0x2c]
test al, 0xf
je 0x731068
test eax, 0x188002
jne 0x731068
mov ecx, dword [esp + 0x50]
test byte [ecx + 0x28], 1
je 0x734245
test ebx, ebx
js 0x7310a3
mov edx, dword [esp + 0x14]
mov ecx, ebx
mov eax, dword [edx + 0x80]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x5c]
mov dword [esp + 8], edx
mov edx, 1
shl edx, cl
mov ecx, edx
mov edx, dword [esp + 8]
test edx, ecx
jne 0x7310a3
or edx, ecx
mov dword [eax + 0x5c], edx
cmp ebx, 1
je 0x7337de
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*8]
test byte [edx + eax*8 + 0x2c], 0x10
jne 0x732799
add ebp, 0x60
cmp ebp, dword [esp + 0x18]
jne 0x730e90
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x50]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x64]
cmp byte [eax + 0x57], 0
jne 0x730b00
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 4], eax
lea esi, [esi]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x730b00
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x50]
movzx ebx, byte [edi + 0x3c]
mov edi, dword [esp + 0x40]
mov esi, dword [eax + 0x2c]
lea eax, [ebx + ebx*8]
lea eax, [edi + eax*8]
movzx edx, byte [eax + 0x30]
test dl, 0x10
je 0x731149
and edx, 8
je 0x73293a
sub esp, 8
mov edx, 0xa
push 0
push dword [eax + 0x20]
mov ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
test esi, 0x404000
je 0x73118a
and esi, 0x4000
je 0x732777
sub esp, 4
push dword [esp + 8]
push dword [esp + 0x54]
push dword [esp + 0x54]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
call fcn.007458e0
add esp, 0x10
mov eax, dword [esp + 0x64]
cmp byte [eax + 0x57], 0
jne 0x730b00
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x80]
test eax, eax
cmove eax, edi
cmp byte [eax + 0xdb], 2
jne 0x7311c7
mov eax, dword [esp + 4]
sub esp, 8
movzx ecx, byte [eax + 0x3c]
push dword [esp + 0x9c]
push dword [eax + 0x50]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
call fcn.006deb40
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 4]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x1c], edx
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, edi
mov edi, dword [edi + 0x50]
movzx eax, byte [eax + 0x3c]
mov byte [esp + 8], al
mov dword [esp + 0x5c], eax
lea eax, [eax + eax*8]
mov edx, dword [edx + eax*8 + 0x34]
mov dword [esp + 0x60], edx
cmp edx, dword [ebp + 0x1f8]
je 0x732d24
mov eax, dword [ebp + 0x1f4]
cmp eax, 1
jle 0x733867
movzx ebx, byte [esp + 8]
mov ecx, 1
jmp 0x73123b
add ecx, 1
cmp eax, ecx
je 0x732762
cmp edx, dword [ebp + ecx*4 + 0x1f8]
jne 0x731230
xor eax, eax
xor edx, edx
test cl, 0x20
mov byte [esp + 8], bl
sete al
setne dl
mov ebx, dword [esp + 0x4c]
shl eax, cl
shl edx, cl
mov ecx, eax
mov eax, edx
not ecx
not eax
mov edx, ecx
mov ecx, dword [esp + 0x48]
and eax, ebx
and edx, ecx
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x24], edx
lea ebx, [eax - 1]
sub eax, 2
cmp byte [esp + 8], 0
mov dword [esi + 0x10], ebx
mov dword [esi + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [ecx + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esi + 0x18], eax
je 0x7312c5
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*8]
test byte [edx + eax*8 + 0x2c], 8
jne 0x732d38
mov eax, dword [esp + 0x54]
test eax, eax
je 0x733b7a
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x10]
jmp 0x7312ef
mov ecx, dword [edx + 0x38]
test ecx, ecx
jne 0x7312f5
sub edx, 0x60
sub eax, 1
je 0x7312f5
mov ebx, dword [edx]
test ebx, ebx
je 0x7312e0
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1c]
lea edx, [edx + edx*8]
lea ecx, [ebx + edx*8]
movzx edx, byte [ecx + 0x30]
mov ebx, edx
and ebx, 0x20
mov byte [esp + 0x28], bl
jne 0x7328bd
mov esi, dword [esp + 0x24]
movzx ecx, byte [esp + 0x54]
mov ebx, dword [esp + 0x20]
shrd ebx, esi, cl
shr esi, cl
test cl, 0x20
je 0x731333
mov ebx, esi
mov ecx, dword [edi + 0x2c]
and ebx, 1
mov dword [esp + 0x20], ebx
test ch, 4
jne 0x732a9a
test ch, 1
je 0x731354
test cl, 5
jne 0x733577
lea eax, [eax + eax*2]
shl eax, 5
mov eax, dword [ebp + eax + 0x304]
mov esi, eax
mov eax, ecx
and eax, 0x102
cmp eax, 0x102
je 0x732dbd
test ch, 2
je 0x732f99
movzx edx, word [edi + 0x1c]
movzx ebx, word [edi + 0x18]
movzx esi, word [edi + 0x1a]
mov word [esp + 0x8c], dx
mov edx, dword [edi + 0x20]
mov eax, ebx
mov word [esp + 0x78], bx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 4]
mov word [esp + 0x98], si
mov edx, dword [edx + 8]
mov dword [esp + 8], edx
test cl, 0x20
je 0x7336da
mov edx, dword [edi + 0x38]
lea eax, [ebx + 1]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x74], edx
test cl, 0x10
je 0x7336c8
mov edx, dword [edi + 0x38]
mov edx, dword [edx + eax*4]
movzx eax, word [esp + 0x8c]
cmp esi, eax
mov dword [esp + 0x38], edx
cmovl esi, eax
test byte [edx + 0xb], 1
jne 0x734b1d
mov eax, dword [esp + 0x74]
mov byte [esp + 0x3c], 0
test eax, eax
je 0x7348e5
and ecx, 0x80030
mov dword [esp + 0x30], 0
cmp ecx, 0x80000
je 0x73399c
mov eax, dword [esp + 0x58]
movzx edx, word [esp + 0x78]
cmp dx, word [eax + 0x34]
jae 0x73147e
mov eax, dword [eax + 0x1c]
cmp byte [eax + ebx], 0
sete al
movzx eax, al
cmp dword [esp + 0x20], eax
jne 0x73147e
movzx edx, byte [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x3c], 0
movzx eax, byte [esp + 0x98]
mov byte [esp + 0x28], dl
mov edx, dword [esp + 0x74]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x38], edx
movzx edx, word [esp + 0x8c]
mov word [esp + 0x8c], ax
mov word [esp + 0x98], dx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x731490
test byte [edi + 0x2e], 0x10
jne 0x73486e
sub esp, 8
lea eax, [esp + 0xd8]
push eax
push esi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
call fcn.00730160
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe0]
add esp, 0x10
cmp word [esp + 0x8c], 0
je 0x7314ce
test eax, eax
jne 0x733cb7
mov dword [esp + 0x90], 0
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 4]
test esi, esi
je 0x733746
mov eax, dword [eax + 0x28]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x74]
test ecx, ecx
setne byte [esp + 0x80]
cmp word [esp + 0x78], 0
movzx edx, byte [esp + 0x80]
setne al
test ecx, ecx
je 0x733902
test byte [ecx + 0xc], 0x28
setne cl
movzx ecx, cl
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x733cdd
test byte [ecx + 0xc], 0x28
setne cl
or eax, edx
movzx ecx, cl
movzx eax, al
mov dword [esp + 0x88], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x74]
movzx ecx, word [esp + 0x98]
sub esp, 0xc
mov eax, dword [eax]
mov esi, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x1c]
add eax, ebx
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], eax
push ecx
mov ecx, eax
mov eax, dword [esp + 0x24]
call fcn.0073df20
mov eax, dword [esp + 0x84]
add esp, 0x10
movzx ecx, word [eax + 0xa]
test ch, 1
je 0x7315cc
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov eax, 0xaa748c
cmp byte [edx + 0x57], 0
je 0x734393
mov edx, dword [esp + 0x3c]
shr edx, 1
mov dword [eax + 0xc], edx
movzx edx, word [esp + 0x3c]
and edx, 1
mov word [eax + 2], dx
and ecx, 0x80
je 0x734821
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x7315f1
lea ecx, [eax + ebx]
mov eax, dword [esp + 0x78]
mov edx, esi
call fcn.006c0620
mov eax, esi
add eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x78]
movzx eax, byte [eax]
cmp al, 0xb0
jne 0x73160c
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + 2]
cmp al, 0xb1
je 0x734b12
cmp al, 0x8a
je 0x734ad9
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 4]
call fcn.006b1e00
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x80], 1
mov eax, dword [esp + 0x14]
sub esp, 0xc
mov eax, dword [eax + 8]
push dword [esp + 0xdc]
mov edx, dword [esp + 0x20]
call fcn.006de830
movzx eax, word [edi + 0x32]
add esp, 0x10
test ax, ax
je 0x73166d
cmp dword [esp + 0x3c], eax
je 0x73398f
mov eax, dword [esp + 0x7c]
shl eax, 2
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x733b0e
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x733a70
mov eax, dword [esp + 0x20]
lea edx, [eax + 0xa3a9e4]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x98], edx
add eax, edx
mov edx, dword [esp + 0x84]
movzx eax, byte [eax + edx*2]
mov dword [esp + 0x7c], eax
test byte [edi + 0x2e], 0x10
je 0x7316c8
cmp eax, 0x17
je 0x734e3e
sub esp, 4
push dword [esp + 0x40]
push dword [esp + 0x18]
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x3c]
call fcn.006dd2e0
mov eax, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x74], 0
test eax, eax
jne 0x733a0d
mov eax, dword [esp + 0x38]
test eax, eax
je 0x733779
mov eax, dword [eax]
movzx esi, word [esp + 0x8c]
sub esp, 0xc
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x1c]
lea ecx, [ebx + eax]
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ecx
push esi
mov eax, dword [esp + 0x24]
call fcn.0073df20
mov eax, dword [esp + 0x48]
movzx eax, word [eax + 0xa]
mov word [esp + 0x8c], ax
add esp, 0x10
test ah, 1
je 0x731779
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 4]
mov ecx, dword [edx]
mov eax, dword [eax + 0x2c]
mov edx, 0xaa748c
cmp byte [ecx + 0x57], 0
je 0x7343c3
mov ecx, eax
and eax, 1
shr ecx, 1
mov word [edx + 2], ax
mov dword [edx + 0xc], ecx
test byte [esp + 0x7c], 0x80
je 0x734641
mov eax, dword [esp + 0x90]
test eax, eax
je 0x7317bb
mov ecx, eax
mov eax, dword [esp + 0x28]
mov edx, esi
call fcn.006c0620
mov edx, dword [esp + 0x14]
sub esp, 0xc
mov ecx, esi
mov eax, dword [edx + 8]
push dword [esp + 0x9c]
mov edx, dword [esp + 0x4c]
call fcn.006de830
add esp, 0x10
mov eax, esi
add eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
movzx eax, byte [eax]
cmp al, 0xb0
jne 0x7317d6
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + 2]
cmp al, 0xb1
je 0x734954
cmp al, 0x8a
je 0x73492f
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 4]
call fcn.006b1e00
mov edx, dword [esp + 0xd0]
test edx, edx
je 0x731807
mov eax, dword [esp + 0x18]
call fcn.006c0230
mov eax, dword [esp + 0x90]
test eax, eax
je 0x73181d
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.006c0230
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x6c]
mov dword [edx + 0x44], eax
test ecx, ecx
je 0x7323df
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x88]
add edx, edx
mov dword [esp + 0x18], edx
add esi, edx
mov edx, dword [esp + 0x30]
test edx, edx
jne 0x73495f
sub esp, 4
movzx edx, byte [esi + 0xa3a9e0]
push dword [esp + 0x40]
push dword [esp + 0x18]
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dd2e0
mov eax, dword [esp + 0x84]
add esp, 0x10
test eax, eax
jne 0x7323c4
mov eax, dword [edi + 0x2c]
test eax, 0x40000
jne 0x733898
test al, 0x40
je 0x73329a
test word [ebp + 0x28], 0x1020
jne 0x73329a
mov ebx, 1
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
jne 0x7318d4
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7318d4
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
call fcn.006ed2b0
mov eax, dword [edi + 0x2c]
test ah, 0x10
je 0x733689
mov edi, dword [esp + 4]
mov byte [edi + 0x3d], 0xbb
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [edi + 0x40], edx
mov edx, eax
shr edx, 0x10
and edx, 1
mov byte [edi + 0x3e], dl
test al, 0xf
jne 0x731906
mov byte [edi + 0x3f], 1
test ebx, ebx
mov eax, 0
cmove eax, dword [esp + 0x58]
cmp ebx, 1
mov dword [esp + 0x58], eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x18], eax
lea esi, [esi]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], ebp
lea eax, [eax + eax*8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x5c]
mov ebp, dword [eax + 0x68]
test edi, edi
jle 0x731a82
lea esi, [esi]
mov dword [esp + 0x30], 0
lea esi, [esi]
nop
movzx eax, word [ebp + 0xa]
test al, 6
jne 0x731a50
mov esi, dword [esp + 4]
mov ecx, dword [ebp + 0x28]
mov ebx, dword [esi + 0x5c]
mov edx, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
and ebx, dword [ebp + 0x2c]
and ecx, edx
mov esi, ebx
or esi, ecx
jne 0x7324a0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov ebx, dword [ebp]
movzx ecx, byte [esi + ecx*8 + 0x2c]
mov dword [esp + 8], ebx
test cl, 0x58
je 0x732450
mov esi, dword [ebx + 4]
test esi, 3
je 0x731a50
and ecx, 8
je 0x7319c6
and esi, 1
je 0x731a50
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x20]
mov esi, dword [esi + 0x24]
cmp esi, dword [ebx + 0x1f8]
je 0x732640
mov ecx, dword [ebx + 0x1f4]
mov dword [esp + 0x38], ecx
cmp ecx, 1
jle 0x732528
mov dword [esp + 0x3c], edx
mov ecx, 1
mov edx, ebx
mov ebx, dword [esp + 0x38]
jmp 0x731a13
add ecx, 1
cmp ebx, ecx
je 0x732528
cmp esi, dword [edx + ecx*4 + 0x1f8]
jne 0x731a08
mov ebx, 1
xor esi, esi
mov edx, dword [esp + 0x3c]
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
je 0x731a35
mov esi, ebx
xor ebx, ebx
mov ecx, ebx
mov ebx, esi
and edx, ecx
mov ecx, dword [esp + 0x10]
and ecx, ebx
mov ebx, ecx
or ebx, edx
je 0x732528
lea esi, [esi]
nop
add ebp, 0x30
sub edi, 1
jne 0x731960
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x732a2e
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x5c]
mov ebp, dword [eax + 0x68]
test edi, edi
jg 0x731950
mov edi, ebp
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
mov ebx, dword [ebp + 0x64]
mov esi, dword [esp + 0x60]
lea eax, [eax + eax*8]
mov dword [esp + 8], eax
test ebx, ebx
jle 0x731bfc
lea esi, [esi]
test byte [edi + 0xa], 6
jne 0x731bf0
movzx eax, word [edi + 0xc]
test al, 0x82
je 0x731bf0
test ah, 8
je 0x731bf0
cmp esi, dword [edi + 0x14]
jne 0x731bf0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 8]
test byte [eax + edx*8 + 0x2c], 0x58
jne 0x731bf0
mov eax, dword [edi]
mov ecx, dword [edi + 0x18]
mov edx, esi
mov dword [esp + 0x10], eax
push 0
push 0x83
push dword [esp + 0x54]
push dword [esp + 0x54]
mov eax, dword [esp + 0x54]
call fcn.006edb00
add esp, 0x10
test eax, eax
je 0x731bf0
test byte [eax + 0xa], 4
jne 0x731bf0
mov edx, dword [eax]
test byte [eax + 0xc], 1
je 0x731b38
test byte [edx + 5], 0x10
je 0x731b38
mov ecx, dword [edx + 0x14]
mov ecx, dword [ecx + 0x1c]
cmp dword [ecx], 1
jg 0x731bf0
mov ecx, dword [edx]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd0], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0xd8], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0xdc], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0xe0], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0xe4], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0xe8], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0xec], ecx
mov ecx, dword [edx + 0x20]
mov dword [esp + 0xf0], ecx
mov ecx, dword [edx + 0x24]
mov dword [esp + 0xf4], ecx
mov ecx, dword [edx + 0x28]
mov dword [esp + 0xf8], ecx
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0xfc], ecx
mov edx, dword [edx + 0x30]
mov dword [esp + 0x100], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0xdc], edx
push 0x10
push dword [esp + 0x38]
lea edx, [esp + 0xd8]
push edx
push dword [esp + 0x20]
call fcn.0073add0
mov eax, dword [esp + 0x28]
add esp, 0x10
or word [eax + 0xa], 4
nop
add edi, 0x30
sub ebx, 1
jne 0x731aa8
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x18], eax
test eax, eax
je 0x732663
mov eax, dword [esp + 4]
mov edx, dword [ebp + 4]
movzx eax, byte [eax + 0x3c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov edi, dword [eax + 0x18]
test byte [edi + 0x1c], 0x80
je 0x732a3a
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x731c4b
jmp 0x735099
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x798f19
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x731c40
movzx esi, word [ebx + 0x32]
lea eax, [esi + 1]
mov dword [esp + 8], esi
mov dword [esp + 0x28], eax
mov edx, eax
mov eax, dword [esp + 0x14]
call fcn.006b8610
mov dword [esp + 0x10], eax
test esi, esi
je 0x733b81
add eax, 1
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x60]
mov esi, 1
mov dword [esp + 0x20], eax
sub esp, 8
mov ecx, ebp
mov edx, edi
mov eax, dword [esp + 0x18]
add eax, esi
push eax
mov eax, dword [ebx + 4]
movsx eax, word [eax + esi*2 - 2]
push eax
mov eax, dword [esp + 0x3c]
call fcn.0073d4b0
add esp, 0x10
mov eax, esi
add esi, 1
cmp eax, dword [esp + 8]
jne 0x731c90
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x6c]
cmp ebx, dword [eax + 0x70]
jge 0x732d98
mov edi, dword [esp + 0x2c]
lea eax, [ebx + 1]
mov edx, dword [edi + 0x68]
mov dword [edi + 0x6c], eax
lea eax, [ebx + ebx*4]
mov edi, dword [esp + 0x20]
lea eax, [edx + eax*4]
mov dword [eax + 0xc], edi
mov edi, dword [esp + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0x10], edi
mov dword [eax], 0xfd1d
sub esp, 8
mov edx, 0x61
push dword [esp + 0x18]
push dword [esp + 0x14]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov eax, edi
mov ecx, esi
call fcn.006dc9d0
add esp, 0xc
mov edx, 0x8a
push dword [esp + 0xc]
push esi
push dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, edi
call fcn.006dd2e0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov edx, 0xb7
mov ecx, dword [eax + 4]
push dword [esp + 0xc]
mov eax, edi
push esi
push 0
call fcn.006dd2e0
mov eax, dword [edi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x731d81
mov esi, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov edi, 0x10
lea edx, [esi + edx*4]
mov word [edx - 0x12], di
mov edi, dword [esp + 0x2c]
mov edx, 0xaa748c
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x731d9b
mov edx, dword [edi + 0x68]
lea ecx, [ebx + ebx*4]
lea edx, [edx + ecx*4]
cmp dword [esp + 0x28], 1
mov dword [edx + 8], eax
je 0x732d69
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
cmp dword [edi + 0x1c], edx
jge 0x731dc0
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x10]
mov dword [edi + 0x20], edx
mov edi, dword [esp + 4]
mov edx, dword [edi]
test edx, edx
jne 0x732678
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x38]
test ebx, ebx
jne 0x7326a2
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
mov edi, dword [esp + 4]
add dword [esp + 0x54], 1
mov eax, dword [edi + 0x18]
add edi, 0x60
mov dword [esp + 4], edi
mov dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x68]
jne 0x7310f0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
mov edi, dword [esp + 0x50]
mov dword [edi + 0x3c], eax
jmp 0x730b23
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
or dword [esp + 0x38], esi
or dword [esp + 0x3c], edi
cmp eax, 0x65
jne 0x73504e
sub esp, 8
push 0xa33c94
push 0x1c
call fcn.006f2970
add esp, 0x10
add dword [esp + 0x30], 1
mov edi, dword [esp + 4]
cmp dword [esp + 8], edi
jbe 0x730ab1
add edi, 0x48
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], edi
jmp 0x730bf8
test al, 0x40
mov edx, 1
cmove edx, dword [esp + 0x34]
shr al, 4
and eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x38]
mov eax, dword [eax - 0x38]
or dword [esp + 0x1c], edx
mov edx, dword [esp + 0x3c]
or dword [esp + 0x20], edx
cmp byte [eax + 0x2b], 1
jne 0x730cc4
mov ebp, dword [esp + 4]
xor esi, esi
xor edi, edi
cmp dword [esp + 8], ebp
jbe 0x731f3e
lea esi, [esi]
mov edx, edi
or edx, esi
je 0x731f70
mov eax, dword [ebp + 0x2c]
cmp dword [esp + 0x18], eax
je 0x731f85
mov edx, dword [ebx + 0x1f4]
cmp edx, 1
jle 0x731f35
mov ecx, 1
jmp 0x731f0f
add ecx, 1
cmp ecx, edx
je 0x731f35
cmp eax, dword [ebx + ecx*4 + 0x1f8]
jne 0x731f08
mov eax, 1
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x731f2d
mov edx, eax
xor eax, eax
or eax, esi
or edx, edi
mov esi, eax
mov edi, edx
add ebp, 0x48
cmp dword [esp + 8], ebp
ja 0x731ed8
sub esp, 8
push edi
push esi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xc8]
call fcn.0072de40
add esp, 0x10
jmp 0x730cdc
xor eax, eax
xor edx, edx
jmp 0x730c6d
test byte [ebp + 0x24], 0x22
jne 0x731ee2
add ebp, 0x48
cmp dword [esp + 8], ebp
ja 0x731f70
jmp 0x731f3e
mov edx, esi
or edx, 1
mov esi, edx
jmp 0x731f35
sub esp, 8
push edi
push esi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xc8]
call fcn.0072e8f0
mov edi, dword [esp + 0x20]
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
or dword [esp + 0x48], esi
or dword [esp + 0x4c], edi
add esp, 0x10
test eax, eax
je 0x730d07
jmp 0x731e42
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], 0
lea ebp, [eax + 0x18]
lea esi, [esi]
nop
mov edi, dword [esp + 0x50]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x1f4]
lea ecx, [eax + 1]
mov dword [edi + 0x1f4], ecx
mov dword [edi + eax*4 + 0x1f8], edx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
lea eax, [eax + eax*8]
test byte [edi + eax*8 + 0x30], 4
je 0x732180
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x10], eax
test eax, eax
je 0x732180
mov eax, dword [eax]
test eax, eax
jle 0x732180
mov eax, dword [ebp]
mov dword [esp + 4], 0
xor edi, edi
mov dword [esp + 8], eax
lea esi, [esi]
mov eax, dword [esp + 8]
movsx edx, word [eax + 0x22]
cmp edi, edx
jge 0x7321a0
mov ecx, dword [eax + 4]
mov ebx, edi
jmp 0x73206b
add ebx, 1
cmp ebx, edx
je 0x7321a0
mov eax, ebx
shl eax, 4
test byte [ecx + eax + 0xe], 2
je 0x732060
mov eax, dword [esp + 0x14]
mov edx, 0x34
xor ecx, ecx
mov eax, dword [eax]
call fcn.006cec40
mov esi, eax
test eax, eax
je 0x732180
lea edi, [esi + 4]
mov ecx, esi
xor eax, eax
mov dword [esi], 0
and edi, 0xfffffffc
mov dword [esi + 0x30], 0
sub ecx, edi
add ecx, 0x34
shr ecx, 2
rep stosd dword es:[edi], eax
mov byte [esi], 0xa7
mov edi, 0xffffffff
mov word [esi + 0x22], di
lea edi, [ebx + 1]
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x18], 1
mov word [esi + 0x20], bx
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 8]
mov dword [esi + 0x2c], eax
mov edx, eax
mov eax, ebx
call fcn.006ba980
or dword [ebp + 0x28], eax
mov eax, dword [esp + 4]
or dword [ebp + 0x2c], edx
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 8]
test edx, edx
je 0x732114
sub esp, 0xc
xor ecx, ecx
push 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
call fcn.006d1d00
add esp, 0x10
mov edx, eax
sub esp, 0xc
mov ecx, edx
mov edx, 0xae
push 0
mov ebx, dword [esp + 0x24]
mov eax, ebx
call fcn.006e3100
mov ecx, esi
mov edx, 0x35
mov dword [esp], eax
mov eax, ebx
call fcn.006e3100
add esp, 0x10
xor ecx, ecx
test byte [ebp + 0x14], 0x18
sete cl
mov edx, dword [ebp + 0x1c]
mov ebx, eax
add ecx, 1
call fcn.006b1b40
mov eax, dword [esp + 0x44]
mov edx, ebx
mov ecx, 1
call fcn.006cfdd0
mov edx, dword [esp + 0x10]
add dword [esp + 4], 1
mov eax, dword [esp + 4]
cmp eax, dword [edx]
jl 0x732040
lea esi, [esi]
mov edi, dword [esp + 0x40]
add dword [esp + 0x18], 1
add ebp, 0x48
mov eax, dword [esp + 0x18]
cmp dword [edi], eax
jg 0x731fe0
jmp 0x73091d
push dword [esp + 4]
mov eax, dword [esp + 0xc]
push dword [eax]
push 0xa33cd0
push dword [esp + 0x20]
call fcn.006cea90
add esp, 0x10
jmp 0x732180
test eax, eax
je 0x730b23
mov edx, eax
mov eax, dword [esp + 0x64]
call fcn.006bf870
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
add esp, 0x13c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x64]
test byte [eax + 0x50], 0x10
jne 0x730907
mov eax, dword [esp + 0x50]
mov byte [eax + 0x2f], 1
jmp 0x730907
mov eax, dword [esp + 0x50]
test byte [eax + 0x29], 1
je 0x732211
sub word [eax + 0x34], 0x1e
mov eax, dword [esp + 0x64]
test byte [eax + 0x21], 0x10
je 0x730da9
mov eax, dword [esp + 0x50]
call fcn.006b2210
jmp 0x730da9
mov eax, dword [esp + 0x40]
cmp dword [eax], 1
jne 0x73239c
mov eax, dword [esp + 0x40]
mov ebp, dword [eax + 0x34]
mov edi, dword [eax + 0x18]
mov eax, dword [esp + 0x154]
mov dword [esp + 0x10], ebp
mov esi, dword [eax]
test esi, esi
jle 0x73229a
lea ecx, [eax + 8]
xor ebx, ebx
mov eax, dword [ecx]
test eax, eax
jne 0x732272
jmp 0x732290
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x732290
mov edx, dword [eax + 4]
test edx, 0x82000
je 0x7345e0
and edx, 0x80000
jne 0x732268
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x732272
add ebx, 1
add ecx, 0x14
cmp ebx, esi
jne 0x73225a
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x73239c
mov edi, dword [esp + 0x154]
jmp 0x7322bb
mov ebp, dword [ebp + 0x14]
test ebp, ebp
je 0x73239c
cmp byte [ebp + 0x36], 0
je 0x7322b0
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x7322b0
cmp word [ebp + 0x32], 0
je 0x73238f
mov dword [esp + 4], 0
jmp 0x7322f5
add dword [esp + 4], 1
movzx eax, word [ebp + 0x32]
mov edx, dword [esp + 4]
cmp edx, eax
jge 0x732385
push ebp
push 2
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
call fcn.006edb00
add esp, 0x10
test eax, eax
jne 0x7322e0
mov eax, dword [ebp + 0x20]
mov edx, dword [esp + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
test eax, eax
jle 0x732381
mov eax, dword [esp + 4]
xor esi, esi
add eax, eax
mov dword [esp + 0x18], eax
lea esi, [esi]
lea eax, [esi + esi*4]
mov ecx, dword [edi + eax*4 + 8]
mov eax, ecx
test ecx, ecx
jne 0x73235a
jmp 0x73237a
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x73237a
mov edx, dword [eax + 4]
mov ebx, edx
and ebx, 0x82000
je 0x734538
and edx, 0x80000
jne 0x732350
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x73235a
add esi, 1
cmp esi, dword [edi]
jl 0x732338
movzx eax, word [ebp + 0x32]
cmp dword [esp + 4], eax
jne 0x7322b0
mov eax, dword [esp + 0x50]
mov byte [eax + 0x2f], 1
jmp 0x730b5a
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x730b5a
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x154]
or word [eax + 0x28], 0x80
mov dword [eax + 8], edi
jmp 0x730b5a
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx]
mov eax, dword [edx + 0x6c]
mov edx, 0xaa748c
cmp byte [ecx + 0x57], 0
je 0x7343ad
mov dword [edx + 8], eax
mov edx, dword [esp + 0x30]
test edx, edx
je 0x73188b
mov edx, dword [esp + 0x20]
add edx, edx
mov dword [esp + 0x18], edx
sub esp, 8
add eax, 2
mov edx, 0x10
push 0
push eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x40]
movzx edx, byte [edx + esi + 0xa3a9e0]
add ecx, esi
push ecx
push dword [esp + 0x18]
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dd2e0
add esp, 0x10
jmp 0x73188b
cmp dword [esp + 0x18], 1
je 0x7324b0
cmp dword [esp + 0x18], 3
jne 0x732504
test ah, 2
je 0x732476
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x2c]
test edx, edx
jne 0x7325a8
push 0x10
push dword [esp + 0x38]
push dword [esp + 0x10]
push dword [esp + 0x20]
call fcn.0073add0
add esp, 0x10
or word [ebp + 0xa], 4
jmp 0x731a50
mov eax, dword [esp + 0x20]
or byte [eax + 0x30], 2
jmp 0x731a50
mov eax, dword [esp + 4]
lea ecx, [esp + 0xd0]
xor edx, edx
mov ebx, dword [eax + 4]
xor eax, eax
mov dword [ecx + eax], edx
add eax, 4
cmp eax, 0x18
jb 0x7324c2
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xd4], 0x6b8680
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 8]
test eax, eax
jne 0x73257b
movzx eax, word [ebp + 0xa]
test ah, 0x10
je 0x732462
mov edx, dword [esp + 0x30]
mov eax, 3
test edx, edx
cmovne eax, edx
mov dword [esp + 0x30], eax
jmp 0x731a50
cmp dword [esp + 0x18], 1
jne 0x732457
mov eax, dword [esp + 4]
lea ecx, [esp + 0xd0]
xor edx, edx
mov ebx, dword [eax + 4]
xor eax, eax
mov dword [ecx + eax], edx
add eax, 4
cmp eax, 0x18
jb 0x732545
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xd4], 0x6b8680
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xe8], eax
mov edx, dword [esp + 8]
mov eax, ecx
call fcn.006ca6c0
cmp word [esp + 0xe4], 0
je 0x732500
mov dword [esp + 0x30], 2
jmp 0x731a50
mov eax, dword [esp + 0x2c]
mov ecx, edx
and edx, 1
shr ecx, 1
add edx, 0x10
mov ebx, dword [eax + 0x6c]
cmp ebx, dword [eax + 0x70]
jge 0x73264c
mov esi, dword [esp + 0x2c]
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
mov esi, dword [esi + 0x68]
lea eax, [ebx + ebx*4]
lea eax, [esi + eax*4]
xor esi, esi
mov byte [eax], dl
mov word [eax + 2], si
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
push 0x10
push dword [esp + 0x38]
push dword [esp + 0x10]
push dword [esp + 0x20]
call fcn.0073add0
add esp, 0x10
test ebx, ebx
je 0x73248c
mov esi, dword [esp + 0x2c]
mov eax, 0xaa748c
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x732634
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x73248c
mov ecx, 1
xor ebx, ebx
jmp 0x731a39
sub esp, 8
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.006dc960
add esp, 0x10
mov ebx, eax
jmp 0x7325f9
mov eax, dword [esp + 4]
mov edx, dword [eax]
test edx, edx
je 0x731de1
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
mov edi, dword [esp + 4]
sub esp, 8
mov ecx, 1
mov dword [edi + 0x1c], eax
push 0
push edx
mov eax, dword [esp + 0x3c]
mov edx, 0x47
call fcn.006dc9d0
mov ebx, dword [edi + 0x38]
add esp, 0x10
test ebx, ebx
je 0x7326cd
sub esp, 8
xor ecx, ecx
mov edx, 0x4a
push 0
push dword [ebx + 8]
mov edi, dword [esp + 0x3c]
mov eax, edi
call fcn.006dc9d0
mov eax, dword [edi + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x24]
add esp, 0x10
add byte [eax + 0x1a], 1
mov eax, dword [esp + 4]
mov ecx, dword [ebp + 0x64]
mov ebx, dword [ebp + 0x68]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
test ecx, ecx
jle 0x731def
mov eax, dword [esp + 0x5c]
lea esi, [eax + eax*8]
mov edi, esi
mov esi, dword [esp + 0x6c]
lea esi, [esi]
test byte [ebx + 0xa], 6
jne 0x732752
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x28]
mov ecx, dword [esp + 0x4c]
and eax, edx
mov edx, dword [ebx + 0x2c]
and edx, ecx
or edx, eax
jne 0x732752
mov eax, dword [esp + 0x1c]
test byte [eax + edi*8 + 0x2c], 0x40
jne 0x732752
push 0x10
push dword [esp + 0x38]
push dword [ebx]
push dword [esp + 0x20]
call fcn.0073add0
mov eax, dword [esp + 0x14]
or word [ebx + 0xa], 4
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
add esp, 0x10
add esi, 1
add ebx, 0x30
cmp esi, dword [ebp + 0x64]
jl 0x732700
jmp 0x731def
mov byte [esp + 8], bl
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edx, ecx
mov eax, ebx
jmp 0x73126f
sub esp, 8
mov eax, ebp
push dword [esp + 0x54]
push dword [esp + 0x54]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x64]
call fcn.00744010
add esp, 0x10
jmp 0x73117c
mov esi, dword [esp + 0x50]
mov edx, 0x24
xor ecx, ecx
mov eax, dword [esi]
mov eax, dword [eax]
call fcn.006cec40
mov ebx, eax
test eax, eax
je 0x73328e
mov eax, dword [esi + 0x44]
mov dword [ebx + 8], 0x14
sub esp, 8
mov ecx, 0x10000
mov dword [ebx + 0xc], 0
mov dword [ebx], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0x44], ebx
mov esi, dword [esp + 0x1c]
mov dword [ebp + 0x38], eax
mov eax, dword [esi + 0x28]
lea edx, [eax + 1]
mov dword [esi + 0x28], edx
mov edx, 0x4d
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x10], eax
add eax, 1
mov dword [esi + 0x2c], eax
mov dword [ebx + 0x14], eax
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov edx, esi
mov esi, dword [esi + 0x2c]
lea eax, [esi + 1]
mov dword [esp + 0x18], esi
mov esi, edx
mov dword [edx + 0x2c], eax
mov dword [ebx + 0x18], eax
pop edx
mov edx, 0x4b
pop ecx
push 0
xor ecx, ecx
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
test byte [edi + 0x1c], 0x80
jne 0x733604
sub esp, 8
mov ecx, dword [ebx + 0x10]
mov edx, 0x76
push 0
push 1
mov edi, dword [esp + 0x3c]
mov eax, edi
call fcn.006dc9d0
mov eax, dword [esi]
mov edx, 1
xor ecx, ecx
call fcn.006cfc90
add esp, 0x10
mov edx, eax
test eax, eax
je 0x7328a4
mov dword [eax + 0x14], 0
mov eax, dword [eax + 0x10]
mov byte [eax], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x7349b9
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4 - 0x14]
mov byte [eax + 1], 0xf8
mov dword [eax + 0x10], edx
mov eax, dword [esp + 4]
and dword [eax + 0x2c], 0xffffffbf
mov eax, dword [esp + 0x50]
mov byte [eax + 0x2d], 0
mov byte [eax + 0x2f], 3
jmp 0x7310b5
sub esp, 8
mov ebx, dword [ecx + 0x24]
push dword [ecx + 0x20]
mov edx, 0xb
push 0
mov edi, dword [esp + 0x3c]
mov ecx, ebx
mov eax, edi
call fcn.006dc9d0
mov edx, dword [edi + 0x6c]
add esp, 0x10
cmp edx, dword [edi + 0x70]
jge 0x7336e9
mov edi, dword [esp + 0x2c]
lea eax, [edx + 1]
mov ecx, dword [edi + 0x68]
mov dword [edi + 0x6c], eax
lea eax, [edx + edx*4]
mov edi, dword [esp + 0x10]
lea eax, [ecx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0xc
mov eax, dword [esp + 4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], 2
mov dword [eax + 0x44], edx
mov byte [eax + 0x3d], 9
jmp 0x731928
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x6c]
cmp edi, dword [eax + 0x70]
jge 0x7337e8
mov edx, dword [esp + 0x2c]
lea eax, [edi + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [edi + edi*4]
lea eax, [edx + eax*4]
mov dword [eax], 0xf
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov edx, dword [esp + 0x40]
lea eax, [ebx + ebx*8]
sub esp, 8
push 0
lea eax, [edx + eax*8]
mov edx, 0xa
push dword [eax + 0x20]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [eax + 0x24]
mov eax, ebx
call fcn.006dc9d0
mov ecx, dword [ebx]
add esp, 0x10
mov edx, dword [ebx + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x7329c0
mov eax, dword [ebx + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x731149
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*8]
lea eax, [edx + eax*8 + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 8], eax
add eax, 1
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x10]
test byte [eax + 0x39], 0x10
je 0x732a00
mov eax, dword [esp + 0x64]
test byte [eax + 0x53], 1
je 0x733878
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x732a1d
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*8]
test byte [edx + eax*8 + 0x2c], 0x10
je 0x7337b0
mov eax, dword [esp + 8]
mov edx, 0x70
mov dword [ebp + 8], eax
jmp 0x731020
mov ebp, dword [esp + 0x20]
mov edi, dword [ebp + 0x68]
jmp 0x731a88
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x1c]
cmp eax, 1
jle 0x73310a
mov ebx, dword [edi + 0x20]
sub eax, 2
mov dword [edi + 0x1c], eax
lea edx, [ebx + 2]
lea eax, [ebx + 1]
mov dword [esp + 0x10], ebx
mov dword [edi + 0x20], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 4]
sub esp, 8
mov edx, 0x87
mov ecx, dword [eax + 4]
push 0
push dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
mov dword [esp + 0x28], 2
mov dword [esp + 8], 1
jmp 0x731cc2
movzx ebx, word [edi + 0x30]
mov esi, dword [esp + 0x14]
lea edx, [ebx + 2]
mov eax, esi
mov dword [esp + 8], ebx
call fcn.006b8610
mov edx, dword [esp + 4]
mov dword [esp + 0x58], eax
mov edx, dword [edx + 0xc]
mov dword [esp + 0x3c], edx
test ebx, ebx
je 0x732b88
add eax, 2
mov dword [esp + 0x70], ebp
xor ebx, ebx
mov ebp, edi
mov dword [esp + 0x28], eax
mov edi, esi
jmp 0x732b19
cmp ebx, 0x1f
jle 0x732cca
sub esp, 4
mov edx, esi
mov eax, edi
push dword [esp + 0x14]
push dword [esp + 0x28]
push ebx
mov ecx, dword [esp + 0x14]
call fcn.0072f840
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x4c], eax
add esp, 0x10
add ebx, 1
cmp dword [esp + 8], ebx
je 0x732b82
mov eax, dword [esp + 0x28]
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x38]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x732b10
test byte [esi + 0xc], 1
jne 0x732ae0
mov eax, dword [esi]
sub esp, 0xc
mov edx, dword [eax + 0x10]
push 1
mov eax, edi
mov ecx, dword [esp + 0x20]
call fcn.0073df20
add esp, 0x10
cmp byte [esi + 0xf], 0x4a
jne 0x732b10
test byte [ebp + 0x1c], 2
je 0x732b10
sub esp, 8
xor ecx, ecx
mov edx, 0x47
add ebx, 1
push 0
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x10]
push dword [eax + 0xc]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
cmp dword [esp + 8], ebx
jne 0x732b19
mov edi, ebp
mov ebp, dword [esp + 0x70]
sub esp, 8
mov ecx, dword [edi + 0x18]
mov edx, 0x47
push 0
mov esi, dword [esp + 0x64]
push esi
mov ebx, dword [esp + 0x3c]
mov eax, ebx
call fcn.006dc9d0
pop eax
lea eax, [esi + 1]
pop edx
push 0
mov edx, 0x47
push eax
mov ecx, dword [esp + 0x18]
mov eax, ebx
mov dword [esp + 0x3c], ebx
call fcn.006dc9d0
movzx ebx, byte [edi + 0x1c]
add esp, 0x10
mov edx, 6
and ebx, 1
cmp bl, 1
sbb eax, eax
or eax, 0xfffffffa
push eax
push dword [edi + 0x24]
push esi
push dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.006dd160
mov eax, dword [esp + 0x28]
add esp, 0x10
and byte [edi + 0x1c], 0xfe
cmp byte [eax + 0x57], 0
je 0x732c06
mov dword [edi + 0x24], 0
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 8]
mov dword [edx + 0x40], eax
cmp byte [ebp + 0x2e], 1
sbb eax, eax
xor esi, esi
and eax, 0xffffff84
sub eax, 0x45
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
mov dword [edx + 0x44], eax
mov eax, dword [esp + 0x58]
add eax, 2
test ebx, ebx
je 0x732cb5
mov dword [esp + 0x28], ebp
mov ebx, eax
mov ebp, edi
jmp 0x732c71
mov eax, dword [esp + 0x10]
test byte [eax + 0xc], 1
je 0x732c65
cmp esi, 0x1f
jle 0x732c97
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
je 0x733127
add esi, 1
add ebx, 1
cmp dword [esp + 8], esi
je 0x732cb1
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x10], eax
cmp esi, 0xf
jg 0x732c48
movzx eax, word [ebp + 0x22]
bt eax, esi
jb 0x7330a0
mov eax, dword [esp + 0x10]
test byte [eax + 0xc], 1
je 0x732c65
mov eax, 1
mov ecx, esi
shl eax, cl
and eax, dword [ebp + 0x28]
je 0x732c57
add esi, 1
add ebx, 1
cmp dword [esp + 8], esi
jne 0x732c71
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], 2
jmp 0x731928
mov eax, 1
mov ecx, ebx
shl eax, cl
and eax, dword [ebp + 0x28]
je 0x732ae9
mov ecx, dword [edi + 0x28]
mov edx, dword [esi]
lea eax, [ecx + 1]
mov dword [esp + 0x38], ecx
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x2c]
add eax, 1
mov dword [edi + 0x2c], eax
mov dword [esp + 0x30], eax
mov eax, edi
call fcn.00746560
sub esp, 8
mov edx, 0xaf
push dword [esp + 0x38]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x732b10
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edx, ecx
mov eax, ebx
and edx, 0xfffffffe
jmp 0x73126f
mov eax, dword [ecx + 0x2c]
mov edx, dword [esp + 4]
sub esp, 8
mov dword [esp + 0x10], eax
add eax, 1
mov dword [ecx + 0x2c], eax
xor ecx, ecx
mov dword [edx], eax
mov edx, 0x47
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7312c5
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x731dc0
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + 0x13]
cmp dl, 7
ja 0x731dc0
lea ecx, [edx + 1]
mov byte [edi + 0x13], cl
mov dword [edi + edx*4 + 0xa4], ebx
jmp 0x731dc0
sub esp, 4
mov edx, 0x1d
push dword [esp + 0xc]
push dword [esp + 0x28]
push 0
mov eax, dword [esp + 0x3c]
call fcn.006dd250
add esp, 0x10
mov ebx, eax
jmp 0x731d09
test cl, 0x20
je 0x73373d
mov eax, dword [edi + 0x38]
mov ebx, dword [eax]
mov eax, 1
and ecx, 0x10
jne 0x73370c
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x7339e9
mov dword [esp + 0x58], 0
test ebx, ebx
je 0x734d26
mov dword [esp + 0xd0], 0x17151618
mov edi, dword [ebx]
mov edx, dword [edi + 0x10]
movzx eax, byte [edx]
cmp al, 0xb0
jne 0x732e10
movzx eax, byte [edx + 2]
cmp al, 0xb1
je 0x734a16
cmp al, 0x8a
je 0x734694
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
call fcn.0073e1e0
mov edx, ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
call fcn.006b1e00
movzx eax, byte [edi]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + eax + 0x9a]
sub esp, 8
push ecx
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov edx, dword [esp + 0xc0]
add esp, 0x10
test edx, edx
je 0x732e81
mov edi, dword [esp + 0x14]
movzx eax, byte [edi + 0x13]
cmp al, 7
jbe 0x734233
mov ecx, dword [esp + 0x58]
mov eax, 0x27
sub eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov edi, eax
test ecx, ecx
je 0x733752
mov eax, dword [esp + 0x58]
sub esp, 0xc
mov ebx, dword [eax]
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x2c]
mov edx, dword [ebx + 0x10]
lea ecx, [edi + 1]
mov dword [esp + 0x14], ecx
mov dword [eax + 0x2c], ecx
push 1
call fcn.0073df20
mov eax, dword [ebx + 0x10]
add esp, 0x10
movzx edx, byte [eax]
cmp dl, 0xb0
jne 0x732ed2
movzx edx, byte [eax + 2]
cmp dl, 0xb1
je 0x73490f
cmp dl, 0x8a
je 0x7349e0
movzx eax, byte [ebx]
sub eax, 0x36
cmp dword [esp + 0x20], 1
sbb edi, edi
test al, 0xfd
je 0x7343dd
and edi, 0xfffffffe
add edi, 0x38
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 4]
call fcn.006b1e00
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 4]
sub esp, 8
movzx ebx, byte [esp + 0x20]
mov ecx, dword [esp + 0x68]
mov eax, dword [esi + 0x6c]
mov byte [edx + 0x3d], bl
mov dword [edx + 0x44], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x40], ecx
mov edx, dword [eax + 0x2c]
lea ebx, [edx + 1]
mov dword [esp + 0x20], edx
mov edx, 0x87
mov dword [eax + 0x2c], ebx
mov eax, esi
push 0
push ebx
call fcn.006dc9d0
pop eax
pop edx
push ebx
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, edi
mov eax, esi
call fcn.006dc9d0
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x732cb5
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
mov edx, 0x53
mov dword [esp + 0x58], 0
shl eax, 2
mov dword [esp + 0x18], 2
add eax, dword [edi + 0x68]
mov word [eax - 0x12], dx
jmp 0x731928
and ch, 0x20
je 0x7336a2
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x28]
mov dword [esp + 0x88], eax
add eax, 1
mov dword [edx + 0x28], eax
mov eax, edx
mov edx, dword [edx + 0x2c]
mov ebx, dword [eax + 0x38]
add edx, 1
mov dword [esp + 0x98], ebx
sub ebx, 1
mov dword [eax + 0x38], ebx
mov dword [eax + 0x2c], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x9c], ebx
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], edx
shl esi, 3
mov ebx, dword [eax + esi + 0x18]
mov eax, dword [edi + 0x38]
mov edi, dword [eax]
mov eax, dword [esp + 4]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xa0], edi
mov edi, dword [edi + 0x18]
mov byte [eax + 0x3d], 0x43
mov dword [eax + 0x40], edx
movzx eax, byte [ebp + 0x2c]
mov dword [esp + 8], edi
cmp al, 1
ja 0x733b91
mov eax, dword [ebp + 4]
mov dword [esp + 0x70], eax
test byte [ebp + 0x28], 0x10
jne 0x733cf5
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
je 0x7344da
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x73305b
jmp 0x73508f
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x798f08
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x733050
mov edi, dword [esp + 0x14]
sub esp, 8
mov edx, 0x76
mov ecx, dword [edi + 0x28]
lea eax, [ecx + 1]
mov dword [esp + 0x38], ecx
mov dword [edi + 0x28], eax
movzx eax, word [ebx + 0x32]
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov edx, ebx
mov eax, edi
call fcn.006e6a00
add esp, 0x10
jmp 0x734508
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 4]
call fcn.006b1e00
jmp 0x732c65
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*8]
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + eax*8 + 0x18]
mov eax, dword [eax + 8]
cmp ecx, eax
je 0x7349ed
test eax, eax
je 0x7349ed
mov edx, dword [esp + 0x160]
lea esi, [esi]
nop
mov eax, dword [eax + 0x14]
add edx, 1
test eax, eax
je 0x7330ee
cmp ecx, eax
jne 0x7330e0
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 8]
mov dword [edx + 0x18], eax
mov edx, 0x71
mov dword [ebp + 8], eax
jmp 0x731020
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, 2
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
mov dword [edi + 0x2c], eax
jmp 0x732a64
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x48]
mov dword [esp + 0x20], eax
test eax, eax
jle 0x7331dc
mov edi, dword [esp + 0x2c]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x38], esi
mov ebp, dword [esp + 0x20]
mov eax, dword [edi]
lea ecx, [edx + 4]
mov dword [esp + 0x20], ebx
xor edx, edx
mov esi, ecx
movzx eax, byte [eax + 0x57]
mov ebx, eax
jmp 0x733188
cmp cl, 0x87
jne 0x73317a
mov ecx, dword [eax + 8]
cmp ecx, dword [esp + 0x20]
je 0x734675
add edx, 1
add esi, 0x14
cmp edx, ebp
je 0x733678
mov eax, 0xaa748c
test bl, bl
jne 0x73319c
mov eax, dword [esi]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
movzx ecx, byte [eax]
cmp cl, 0x5e
jne 0x733168
mov ecx, dword [eax + 0xc]
cmp ecx, dword [esp + 0x20]
jne 0x73317a
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov edx, 0x5e
mov ebx, dword [esp + 0x20]
mov edi, dword [eax + 8]
sub esp, 8
mov ecx, dword [eax + 4]
push dword [esp + 0x38]
push edi
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
sub esp, 0xc
xor ecx, ecx
mov edx, 0x35
push 0
mov eax, dword [esp + 0x24]
call fcn.006e3100
add esp, 0x10
mov edi, eax
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
jne 0x7337a0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x1c]
mov edx, dword [edx]
mov edx, dword [edx + 0xc]
test eax, eax
jle 0x733221
mov ecx, dword [edx + 0x14]
lea eax, [eax + eax*4 - 5]
lea eax, [ecx + eax*4]
mov edx, dword [eax + 8]
mov dword [edi + 0xc], edx
sub esp, 0xc
mov edx, 0xb0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
push 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xe0]
call fcn.006cf800
add esp, 0x10
mov dword [edi + 0x10], eax
test eax, eax
je 0x733277
mov dword [eax + 0x1c], ebx
push 0x10
mov eax, dword [esp + 8]
push dword [eax + 0x18]
push edi
push dword [esp + 0x20]
call fcn.0073add0
add esp, 0x10
mov dword [edi + 0xc], 0
mov eax, dword [esp + 0x18]
mov edx, edi
call fcn.006c4840
jmp 0x732c65
mov dword [ebp + 0x38], 0
jmp 0x7310b5
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0xc]
test byte [eax + 0x1c], 0x80
je 0x733809
mov ebx, dword [esp + 8]
cmp dword [esp + 0x60], ebx
je 0x73383d
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x7332d3
jmp 0x73508a
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x798eff
movzx eax, byte [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x7332c8
movzx edx, word [ebx + 0x32]
mov eax, dword [esp + 0x14]
call fcn.006b8610
cmp word [ebx + 0x32], 0
mov dword [esp + 0x10], eax
je 0x734f90
mov dword [esp + 0x18], edi
xor esi, esi
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x58]
mov eax, dword [ebx + 4]
movzx edx, word [ebp + 0x34]
movzx ecx, word [eax + esi*2]
test edx, edx
je 0x734610
mov edi, dword [ebp + 4]
xor eax, eax
jmp 0x733333
add eax, 1
cmp eax, edx
je 0x734610
cmp cx, word [edi + eax*2]
jne 0x733328
cwde
sub esp, 8
mov edi, dword [esp + 0x18]
lea edx, [edi + esi]
add esi, 1
push edx
mov edx, 0x5e
push eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
movzx eax, word [ebx + 0x32]
add esp, 0x10
cmp esi, eax
jl 0x733308
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
sub esp, 4
mov edx, 0x1c
xor ebx, ebx
push eax
push dword [esp + 0x18]
push dword [esp + 0x40]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.006dd2e0
add esp, 0x10
jmp 0x7318b2
mov eax, dword [edi + 0x34]
mov edx, dword [esp + 0x64]
test eax, eax
jne 0x7333af
jmp 0x7333b3
mov eax, dword [eax + 0x18]
test eax, eax
je 0x7333b3
cmp edx, dword [eax]
jne 0x7333a8
lea edx, [esi + esi*8]
push 0xfffffffffffffff5
push eax
mov eax, edx
push 0
push 0
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + eax*8 + 0x34]
mov eax, dword [esp + 0x3c]
mov edx, 0xad
call fcn.006dd160
mov eax, dword [esp + 0x14]
add esp, 0x10
mov eax, dword [eax + 0x2c]
jmp 0x730fb0
test byte [esp + 0x58], 0x20
je 0x730fe5
mov eax, dword [ebp + 4]
mov dword [ebp + 8], eax
jmp 0x731068
mov edx, 0x3a8
xor ecx, ecx
mov esi, 0x358
jmp 0x73076d
test byte [ebx + 0x28], 0x20
jne 0x730b73
mov edi, dword [eax + 0x18]
cmp byte [edi + 0x2b], 1
je 0x730b73
test byte [eax + 0x30], 3
jne 0x730b73
mov esi, dword [esp + 0xc0]
xor ecx, ecx
mov edx, dword [eax + 0x34]
mov ebp, 0x100
lea eax, [ebx + 0x50]
mov dword [esi + 0x2c], 0
mov word [esi + 0x32], cx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov eax, 0xffffffff
mov word [esp + 0xe8], bp
lea ebp, [esp + 0xd0]
mov word [esp + 0x118], ax
mov eax, ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0xec], edx
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0x82
mov byte [esp + 0xea], 1
call fcn.006ed680
test eax, eax
jne 0x7334df
jmp 0x734d34
mov eax, ebp
call fcn.006ed680
test eax, eax
je 0x734d34
mov edx, dword [eax + 0x24]
or edx, dword [eax + 0x20]
jne 0x7334d0
mov edx, dword [esi + 0x38]
mov edi, 1
mov ebp, 1
mov dword [esi + 0x2c], 0x1101
mov dword [edx], eax
mov eax, 0x21
mov word [esi + 0x30], di
mov word [esi + 0x18], bp
mov word [esi + 0x14], ax
mov eax, 0x1101
mov edi, 1
mov edx, dword [ebx + 8]
mov ebp, 1
mov word [esi + 0x16], di
mov edi, dword [esp + 0x18]
mov dword [ebx + 0x348], esi
mov dword [esi + 8], 1
mov dword [esi + 0xc], 0
mov dword [ebx + 0x2fc], edi
mov word [ebx + 0x34], bp
test edx, edx
je 0x73354f
mov edx, dword [edx]
mov byte [ebx + 0x2d], dl
test byte [ebx + 0x29], 1
je 0x733559
mov byte [ebx + 0x2f], 1
cmp byte [esp + 0xe9], 1
jbe 0x73356b
or eax, 0x200000
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 8]
jmp 0x730da1
mov eax, dword [edi + 0x38]
sub esp, 4
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x2c]
lea ebx, [edi + 1]
mov dword [esp + 0xc], edi
mov edi, eax
mov dword [eax + 0x2c], ebx
push ebx
push dword [esp + 0x28]
push 0
mov ecx, dword [esp + 0x14]
call fcn.0072f840
add esp, 0x10
mov esi, eax
test ebx, ebx
je 0x7335bb
cmp ebx, eax
je 0x7335bb
movzx eax, byte [edi + 0x13]
cmp al, 7
jbe 0x734522
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x733c62
sub esp, 8
mov edx, 0x1e
push esi
push ebx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov eax, dword [esp + 0x14]
add esp, 0x10
mov byte [eax + 0x3d], 0xbb
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], 2
jmp 0x731928
mov esi, dword [edi + 8]
test esi, esi
jne 0x73361b
jmp 0x735085
mov esi, dword [esi + 0x14]
test esi, esi
je 0x798ef6
movzx eax, byte [esi + 0x38]
and eax, 3
cmp al, 2
jne 0x733610
movzx eax, word [esi + 0x32]
sub esp, 8
mov ecx, dword [ebx + 0x10]
mov edx, 0x76
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov eax, dword [esp + 0x24]
mov edx, esi
call fcn.006e6a00
add esp, 0x10
jmp 0x7328a4
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
cmp al, 1
jbe 0x730e0f
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x50]
jmp 0x730e04
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
jmp 0x7331dc
mov edi, dword [esp + 4]
cmp dword [esp + 0x20], 1
mov edx, 0x26
adc dl, 0
mov byte [edi + 0x3d], dl
jmp 0x7318e8
and edx, 0x40
je 0x734a41
mov eax, dword [esp + 4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], 2
mov byte [eax + 0x3d], 0xbb
jmp 0x731928
mov byte [esp + 0x3c], 0
mov dword [esp + 0x38], 0
jmp 0x731404
mov dword [esp + 0x74], 0
xor esi, esi
jmp 0x7313c9
sub esp, 8
mov edx, 0xc
mov ecx, ebx
push 0
push dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
call fcn.006dc960
add esp, 0x10
mov edx, eax
jmp 0x73291a
mov edx, dword [edi + 0x38]
mov edi, dword [esp + 0x20]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x58], eax
test edi, edi
je 0x732ded
mov eax, dword [esp + 0x58]
test eax, eax
je 0x7339e9
mov eax, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x58], eax
jmp 0x732df5
xor eax, eax
xor ebx, ebx
jmp 0x732dd0
mov eax, dword [eax + 0x10]
mov dword [esp + 0x70], eax
jmp 0x7314f0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 4]
mov ebx, edi
mov dword [esp + 0x18], 2
mov edi, dword [esp + 0x60]
mov eax, dword [eax + 0x6c]
mov byte [edx + 0x3d], bl
mov dword [edx + 0x40], edi
mov dword [edx + 0x44], eax
jmp 0x731928
cmp byte [esp + 0x28], 0
mov dword [esp + 0x3c], ebx
je 0x7317f3
mov esi, dword [esp + 0x30]
test esi, esi
je 0x73440a
lea eax, [ebx + 1]
mov dword [esp + 0x3c], eax
jmp 0x7317f3
test edi, edi
je 0x732c65
jmp 0x73327e
sub esp, 4
push dword [esp + 0x20]
push dword [esp + 0x10]
push 0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
call fcn.006e87c0
mov eax, dword [esp + 0x18]
mov edx, 0x70
add esp, 0x10
mov dword [ebp + 8], eax
jmp 0x731020
call fcn.0072d0f0
jmp 0x7310a3
sub esp, 8
xor ecx, ecx
mov edx, 0xf
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.006dc960
add esp, 0x10
mov edi, eax
jmp 0x73297f
mov esi, dword [ebp]
sub esp, 8
mov edx, 0x8d
mov eax, dword [esi + 8]
or byte [ebp + 0x30], 1
mov dword [esp + 0x18], eax
push dword [esp + 0x68]
push 0
mov ecx, dword [esp + 0x18]
call fcn.006dc9d0
add esp, 0x10
test word [ebp + 0x28], 0x1020
jne 0x73429f
xor ebx, ebx
jmp 0x7318b2
sub esp, 4
push 0x40
push 0xa33c63
push dword [esp + 0x20]
call fcn.006cea90
add esp, 0x10
mov dword [esp + 0x50], 0
jmp 0x730b23
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edx, ecx
mov eax, ebx
jmp 0x73126f
sub esp, 0xc
push dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
call fcn.006e2930
add esp, 0x10
jmp 0x732a00
sub esp, 8
mov edx, 0x7d
push ebx
push ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov eax, dword [edi + 0x2c]
add esp, 0x10
jmp 0x731899
cmp ebx, 1
je 0x734d18
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov edx, ebx
shl edx, 4
add edx, dword [ecx + 0x10]
mov edx, dword [edx + 4]
cmp byte [edx + 9], 0
je 0x730fb0
sub esp, 8
mov ecx, dword [edi + 0x14]
push dword [edi]
mov edx, ebx
push 0
mov eax, dword [esp + 0x24]
call fcn.006df6d0
mov eax, dword [esp + 0x14]
add esp, 0x10
mov eax, dword [eax + 0x2c]
jmp 0x730fb0
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x734c80
mov dword [esp + 0x84], 1
mov edx, dword [esp + 0x38]
test byte [edx + 0xc], 0x28
setne dl
or al, byte [esp + 0x80]
movzx edx, dl
movzx eax, al
mov dword [esp + 0x88], edx
mov dword [esp + 0x7c], eax
cmp byte [esp + 0x3c], 0
jne 0x73489d
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x733aae
mov eax, dword [esp + 0x14]
sub esp, 0xc
mov ecx, ebx
mov eax, dword [eax + 8]
push dword [esp + 0xdc]
mov edx, dword [esp + 0x20]
call fcn.006de830
movzx eax, word [edi + 0x32]
add esp, 0x10
test ax, ax
je 0x734275
cmp ebx, eax
jne 0x734275
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
jmp 0x731702
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x10], eax
add eax, 1
mov dword [edx + 0x2c], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x30], eax
mov dword [edx + 0x24], eax
mov eax, dword [edx]
test eax, eax
jne 0x734ab8
mov edx, dword [esp + 0x14]
mov byte [esp + 0x3c], 1
mov esi, 1
mov eax, dword [edx + 0x38]
mov dword [esp + 0x10], eax
sub eax, 1
mov dword [edx + 0x38], eax
mov edx, dword [esp + 4]
mov dword [edx + 0x28], eax
jmp 0x73141e
mov edx, 0x20
sub esp, 8
push 0
push esi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
mov dword [esp + 0x58], ebx
jmp 0x732e81
sub esp, 8
xor ecx, ecx
push 0
mov esi, dword [esp + 0x38]
mov edx, dword [esi + 0x6c]
lea eax, [edx + 2]
mov dword [esp + 0x88], edx
mov edx, 9
push eax
mov eax, esi
call fcn.006dc9d0
mov ecx, dword [esp + 0x4c]
add esp, 0xc
xor eax, eax
mov edx, dword [esp + 0x9c]
cmp ecx, 1
setg al
sub ecx, dword [esp + 0x88]
push ecx
movzx edx, byte [edx + eax*4 + 2]
mov eax, esi
push dword [esp + 0x18]
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
call fcn.006dd2e0
add esp, 0x10
jmp 0x731702
sub esp, 4
mov edx, 0x40
push ebx
push dword [esp + 0x18]
mov esi, dword [esp + 0x7c]
push esi
mov eax, dword [esp + 0x3c]
call fcn.006dd2e0
add esp, 0xc
mov edx, ebp
push dword [esp + 0x50]
push dword [esp + 0x50]
push esi
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x24]
call fcn.00730550
add esp, 0x10
jmp 0x731693
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
mov esi, dword [esp + 0x1c]
lea eax, [ebx + esi]
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov eax, dword [esp + 0x24]
lea ecx, [ebx + 1]
mov dword [esp + 0x4c], ecx
pop edx
mov edx, esi
mov eax, dword [eax + 8]
push dword [esp + 0xdc]
call fcn.006de830
movzx eax, word [edi + 0x32]
add esp, 0x10
test ax, ax
je 0x733afe
cmp eax, dword [esp + 0x3c]
je 0x733987
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 4
sub esp, 8
mov ecx, 1
mov edx, 0x47
push 0
push dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x731684
movzx edi, word [esp + 0x58]
test edi, 8
je 0x730e61
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 0x18]
cmp byte [edx + 0x2b], 1
je 0x730e61
test ah, 0x20
je 0x733b62
and edi, 0x10
je 0x730e61
mov edi, dword [esp + 0x64]
test byte [edi + 0x53], 8
jne 0x730e61
mov ebx, 2
jmp 0x730e50
xor eax, eax
jmp 0x7312f9
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x20], eax
jmp 0x731cc2
mov edi, eax
sub edi, dword [esp + 0x54]
xor edx, edx
lea ebx, [edi - 1]
mov ecx, edx
mov dword [esp + 0x10], edi
lea eax, [ebx + ebx*8]
lea eax, [eax*8 + 0x50]
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.006cec40
mov edi, eax
test eax, eax
je 0x731def
mov edx, dword [esp + 0x1c]
lea eax, [ebx + 1]
movzx eax, al
lea esi, [edx + esi + 8]
mov dword [edi + 4], eax
mov dword [edi], eax
mov edx, dword [esi]
lea eax, [edi + 8]
mov dword [edi + 8], edx
mov edx, dword [esi + 0x44]
mov dword [edi + 0x4c], edx
mov dword [esp + 0x70], edi
add edi, 0xc
and edi, 0xfffffffc
sub eax, edi
sub esi, eax
add eax, 0x48
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 4]
add edx, 8
mov dword [esp + 0x20], edx
test ebx, ebx
jle 0x733023
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x70]
lea ecx, [ebx + ebx*8]
lea edx, [eax + 0x9c]
lea ebx, [edi + ecx*8 + 8]
lea eax, [edi + 0x50]
movzx ecx, byte [edx]
mov edi, dword [esp + 0x20]
add edx, 0x60
lea ecx, [ecx + ecx*8]
lea esi, [edi + ecx*8]
lea edi, [eax + 4]
mov ecx, dword [esi]
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x44], ecx
mov ecx, eax
add eax, 0x48
sub ecx, edi
sub esi, ecx
add ecx, 0x48
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
cmp ebx, eax
jne 0x733c28
jmp 0x733023
sub esp, 8
mov ecx, esi
mov edx, 0xd
push 0
push ebx
mov edi, dword [esp + 0x3c]
mov eax, edi
call fcn.006dc9d0
mov eax, dword [esp + 0x14]
add esp, 0xc
mov edx, 0x40
mov ecx, dword [eax + 0x34]
push 1
mov eax, edi
push esi
push ebx
call fcn.006dd2e0
add esp, 0xc
mov edx, ebp
push dword [esp + 0x50]
push dword [esp + 0x50]
push ebx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x24]
call fcn.00730550
add esp, 0x10
jmp 0x7335cd
lea edx, [eax + ebx]
mov eax, dword [esp + 0x18]
call fcn.006d0890
mov dword [esp + 0x90], eax
jmp 0x7314d9
mov eax, dword [esp + 0x50]
call fcn.006b2160
jmp 0x730e0f
mov dword [esp + 0x88], 1
mov dword [esp + 0x7c], 1
jmp 0x73154e
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x6c]
mov dword [esp + 0x8c], edi
cmp edi, dword [eax + 0x70]
jge 0x734ccc
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x2c]
lea eax, [edi + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [edi + edi*4]
mov edi, dword [esp + 0x7c]
lea eax, [edx + eax*4]
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x47
mov dword [eax + 4], 0
xor ebx, ebx
xor esi, esi
cmp dword [ebp + 0x5c], 1
mov edi, dword [esp + 0xa0]
jle 0x733ddc
lea eax, [ebx + ebx*2]
shl eax, 4
add eax, dword [ebp + 0x68]
cmp edi, eax
je 0x733db0
test word [eax + 0xa], 0x8006
jne 0x733db0
test word [eax + 0xc], 0x3fff
je 0x733db0
mov edx, dword [eax]
test byte [edx + 6], 0x40
jne 0x733db0
sub esp, 0xc
xor ecx, ecx
push 0
mov eax, dword [esp + 0x28]
call fcn.006d1d00
mov edx, esi
mov ecx, eax
mov eax, dword [esp + 0x24]
call fcn.006e32e0
add esp, 0x10
mov esi, eax
add ebx, 1
cmp ebx, dword [ebp + 0x5c]
jl 0x733d69
test esi, esi
je 0x733ddc
sub esp, 0xc
xor ecx, ecx
mov edx, 0x1002c
push esi
mov eax, dword [esp + 0x24]
call fcn.006e3100
mov dword [esp + 0x90], eax
add esp, 0x10
jmp 0x733de7
mov dword [esp + 0x80], 0
sub esp, 4
push 0xa33cb7
push 1
push dword [esp + 0x20]
call fcn.006f1ca0
mov eax, dword [esp + 0x18]
add esp, 0x10
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x734ca2
mov dword [esp + 0x74], 0
mov ebx, dword [esp + 0x2c]
xor edi, edi
mov dword [esp + 0x58], 0
mov dword [esp + 0x90], ebp
mov edx, dword [esp + 8]
lea eax, [edi + edi*2]
mov dword [esp + 0x10], edi
shl eax, 4
mov dword [esp + 0x78], edi
add edi, 1
add eax, dword [edx + 0x18]
mov edx, dword [esp + 0x60]
cmp edx, dword [eax + 0x14]
je 0x733e54
test byte [eax + 0xd], 4
je 0x733ff5
mov ebp, dword [eax]
test ebp, ebp
je 0x73414e
sub esp, 0xc
xor ecx, ecx
mov edx, ebp
push 0
mov esi, dword [esp + 0x28]
mov eax, esi
call fcn.006d1d00
add esp, 0x10
cmp byte [esi + 0x57], 0
mov ebp, eax
jne 0x733fe6
mov eax, dword [esp + 0x80]
mov esi, ebp
test eax, eax
je 0x733e93
mov dword [eax + 0xc], ebp
mov esi, eax
push edi
push 0xa33cc6
push 1
push dword [esp + 0x20]
call fcn.006f1ca0
pop eax
mov ecx, esi
push dword [esp + 0x94]
push 0x20
push 0
push 0
push 0
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x90]
mov eax, esi
call fcn.007306e0
mov dword [esp + 0xa4], eax
add esp, 0x20
test eax, eax
je 0x733fe6
mov eax, dword [esi + 0x80]
test eax, eax
cmove eax, esi
cmp byte [eax + 0xdb], 2
jne 0x733f1a
mov eax, dword [esp + 0x84]
sub esp, 8
movzx ecx, byte [eax + 0x334]
push 0
push dword [eax + 0x348]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x24]
call fcn.006deb40
add esp, 0x10
mov eax, dword [esp + 0x90]
test byte [eax + 0x28], 0x10
je 0x734161
sub esp, 8
mov edx, 0xa
mov eax, ebx
push 0
push dword [esp + 0xa8]
mov ecx, dword [esp + 0x8c]
call fcn.006dc9d0
add esp, 0x10
mov eax, dword [esp + 0x84]
mov esi, 1
movzx edx, byte [eax + 0x30]
mov eax, dword [eax + 0x348]
test dl, 2
cmove esi, dword [esp + 0x74]
mov dword [esp + 0x74], esi
test byte [eax + 0x2d], 2
je 0x733f8e
mov esi, dword [esp + 0x78]
mov eax, dword [eax + 0x20]
test esi, esi
je 0x734120
cmp eax, dword [esp + 0x58]
je 0x734120
mov dword [esp + 0x58], 0
and edx, 1
je 0x733fa6
mov eax, dword [esp + 0x90]
or byte [eax + 0x30], 1
mov eax, dword [esp + 0x84]
call fcn.007354d0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xe8]
test eax, eax
je 0x733fdc
mov ecx, dword [edx + 8]
mov edx, 0xaa748c
mov esi, dword [ecx]
cmp byte [esi + 0x57], 0
jne 0x733fd9
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x68]
lea edx, [eax + edx*4]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx + 0xe8], eax
test ebp, ebp
je 0x733ff5
mov eax, dword [esp + 0x18]
mov edx, ebp
call fcn.006c4840
mov eax, dword [esp + 8]
cmp dword [eax + 0xc], edi
jg 0x733e29
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x90]
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x73402e
mov edx, dword [edi + 8]
mov ebx, dword [edx]
mov ecx, 0xaa748c
cmp byte [ebx + 0x57], 0
je 0x734291
mov eax, dword [ecx + 8]
mov edi, dword [esp + 0x14]
mov dword [edi + 0xe8], eax
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x58]
mov dword [eax + 0x48], edi
test edi, edi
je 0x734051
mov edi, dword [esp + 0x88]
mov dword [eax + 8], edi
mov eax, dword [esp + 0x80]
test eax, eax
je 0x73406e
mov dword [eax + 0xc], 0
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.006c4840
mov edi, dword [esp + 0x2c]
mov eax, 0xaa748c
mov ecx, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x734092
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.006dd090
mov ebx, dword [edi + 0xc]
mov eax, dword [ebx + 0x38]
add eax, dword [ebx + 0x3c]
js 0x7349fd
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x6c]
mov eax, dword [esp + 0x98]
shl eax, 2
neg eax
add eax, dword [ebx + 0x40]
mov dword [eax], edx
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 4]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x44], eax
cmp byte [ebp + 0x2c], 1
jbe 0x7340ef
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x18]
call fcn.006bf870
mov ebx, dword [esp + 0x74]
test ebx, ebx
jne 0x732cb5
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 4]
call fcn.006b1e00
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], 2
jmp 0x731928
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov esi, eax
test byte [ecx + 0x1c], 0x80
je 0x733f96
movzx eax, byte [eax + 0x38]
and eax, 3
cmp al, 2
mov eax, 0
cmovne eax, esi
mov dword [esp + 0x58], eax
jmp 0x733f96
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x57], 0
je 0x733e81
jmp 0x733ff5
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
sub eax, 1
cmp eax, edx
mov eax, 0xffffffff
cmovne eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
jne 0x734702
sub esp, 8
mov edx, 0x87
mov eax, ebx
push 0
push dword [esp + 0x34]
mov ecx, dword [esp + 0x70]
call fcn.006dc9d0
mov esi, dword [ebx + 0x6c]
add esp, 0x10
cmp esi, dword [ebx + 0x70]
jge 0x7344b3
mov edx, dword [ebx + 0x68]
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x30]
mov dword [eax + 8], 0
mov dword [eax + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax], 0xfd2f
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x10], edx
sub esp, 8
mov edx, 0xa
mov eax, ebx
push 0
push dword [esp + 0xa8]
mov ecx, dword [esp + 0x8c]
call fcn.006dc9d0
add esp, 0x10
test esi, esi
je 0x733f4d
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x73422b
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
jmp 0x733f4d
lea ecx, [eax + 1]
mov byte [edi + 0x13], cl
mov dword [edi + eax*4 + 0xa4], edx
jmp 0x732e81
cmp byte [ecx + 0x2f], 2
je 0x731068
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x731068
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov edx, 2
lea eax, [ecx + eax*4]
mov word [eax - 0x12], dx
jmp 0x731068
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x78], 0
shl eax, 2
mov dword [esp + 0x74], eax
jmp 0x731684
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
lea ecx, [eax + ecx*4]
jmp 0x73402b
mov eax, dword [esi + 0x80]
test eax, eax
cmove eax, esi
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x73383d
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov ebx, dword [eax + 0xc]
movsx eax, word [ebx + 0x22]
lea eax, [eax*4 + 4]
mov dword [esp + 0x18], eax
mov edx, eax
mov eax, dword [esi]
test eax, eax
je 0x735018
call fcn.006cec40
mov esi, eax
test esi, esi
je 0x73383d
sub esp, 4
push dword [esp + 0x1c]
push 0
push esi
call fcn.00798618
movsx eax, word [ebx + 0x22]
mov dword [esi], eax
mov eax, dword [esp + 0x68]
add esp, 0x10
movzx eax, word [eax + 0x34]
cmp ax, 1
jbe 0x734f71
mov edx, dword [esp + 0x58]
sub eax, 1
xor ecx, ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], eax
mov ebp, edi
mov edi, esi
mov esi, ebx
mov edx, dword [edx + 4]
mov ebx, ecx
mov dword [esp + 0x18], edx
jmp 0x734352
test ax, ax
js 0x734348
movsx edx, ax
mov eax, esi
call fcn.006b86f0
cwde
mov dword [edi + eax*4 + 4], ebx
cmp ebx, dword [esp + 0x28]
je 0x734f69
mov eax, dword [esp + 0x18]
movzx eax, word [eax + ebx*2]
add ebx, 1
test byte [esi + 0x1c], 0x20
jne 0x734334
test ax, ax
js 0x734348
jmp 0x734343
test al, 0x40
je 0x730e61
movzx ebx, byte [esp + 0x5c]
test byte [esp + 0x58], 8
mov edx, 8
cmovne ebx, edx
and eax, 0xffffffbf
mov dword [ecx + 0x2c], eax
mov byte [esp + 0x5c], bl
jmp 0x730e61
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
lea edx, [eax + eax*4 - 5]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x68]
lea eax, [eax + edx*4]
jmp 0x7315b7
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x74]
mov edx, dword [edx + 0x68]
lea ecx, [esi + esi*4]
lea edx, [edx + ecx*4]
jmp 0x7323dc
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 0x6c]
lea ecx, [edx + edx*4 - 5]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 0x68]
lea edx, [edx + ecx*4]
jmp 0x73176b
and edi, 2
add edi, 0x37
jmp 0x732eff
mov edi, dword [esp + 0x50]
mov eax, edi
call fcn.006bf510
movzx edi, byte [edi + 0x2c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov eax, edi
mov dword [esp + 0x68], edi
jmp 0x733664
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
mov eax, dword [esp + 0x1c]
add eax, ebx
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
mov dword [esp + 0x88], 0
jmp 0x733794
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*8]
lea edx, [edx + eax*8 + 0x40]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov ecx, eax
mov dword [esp + 8], eax
mov eax, edx
or eax, ecx
mov dword [esp + 0xc], edx
mov ecx, 0
je 0x734491
mov eax, esi
mov esi, ebx
mov ebx, edi
mov edi, eax
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
add ecx, 1
shrd eax, edx, 1
shr edx, 1
mov dword [esp + 0xc], edx
mov edx, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
or eax, edx
jne 0x734466
mov eax, edi
mov edi, ebx
mov ebx, esi
mov esi, eax
sub esp, 0xc
mov edx, 0xffffffff
push 0xfffffffffffffffd
mov eax, dword [esp + 0x3c]
call fcn.006d0ad0
mov eax, dword [esp + 0x14]
add esp, 0x10
mov eax, dword [eax + 0x2c]
jmp 0x730f8a
sub esp, 4
mov edx, 0x2f
mov eax, ebx
push dword [esp + 0x14]
push dword [esp + 0x30]
push 0
mov ecx, dword [esp + 0x40]
call fcn.006dd250
add esp, 0x10
mov esi, eax
jmp 0x7341e8
mov edi, dword [esp + 0x14]
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x18], eax
add eax, 1
mov dword [esp + 0x38], eax
mov dword [edi + 0x2c], eax
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x2c]
mov dword [esp + 0x10], edi
add edi, 1
mov dword [esp + 0x28], edi
mov dword [eax + 0x2c], edi
jmp 0x733d05
lea edx, [eax + 1]
mov byte [edi + 0x13], dl
mov dword [edi + eax*4 + 0xa4], ebx
jmp 0x7335bb
movzx edx, byte [eax]
mov dword [esp + 8], ebx
add edx, 0x59
and edx, 0xfd
jne 0x73237a
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0x18]
movzx edx, word [edx + ebx]
cmp word [eax + 0x20], dx
jne 0x73237a
mov edx, dword [esp + 0x10]
cmp edx, dword [eax + 0x1c]
jne 0x73237a
mov eax, dword [esp + 0x14]
mov edx, ecx
call fcn.006e8170
test eax, eax
je 0x73488f
mov ecx, dword [eax]
mov ebx, dword [esp + 8]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x20]
jmp 0x7345ae
movzx edx, byte [edx + 0xa40be0]
cmp byte [eax + 0xa40be0], dl
jne 0x734638
add ebx, 1
movzx eax, byte [ecx + ebx]
movzx edx, byte [ebp + ebx]
cmp eax, edx
jne 0x734598
test eax, eax
jne 0x7345ab
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 4]
movsx eax, word [eax + edx]
test eax, eax
jns 0x73461a
cmp eax, 0xffffffff
jne 0x732381
jmp 0x7322e0
movzx edx, byte [eax]
add edx, 0x59
and edx, 0xfd
jne 0x732290
cmp ebp, dword [eax + 0x1c]
jne 0x732290
cmp word [eax + 0x20], 0
jns 0x732290
jmp 0x73238f
mov eax, 0xffffffff
jmp 0x73333a
mov edx, dword [ebp + 0xc]
shl eax, 4
add eax, dword [edx + 4]
test byte [eax + 4], 0xf
jne 0x7322e0
jmp 0x732381
mov ebp, dword [esp + 0x1c]
jmp 0x73237a
mov eax, dword [esp + 0x28]
call fcn.006b12a0
test eax, eax
je 0x731784
sub esp, 8
mov edx, 0x32
push 0
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x731784
mov edx, dword [eax + 0xc]
mov ebp, dword [esp + 0x30]
mov edi, ecx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
mov edx, 0x87
jmp 0x7331c5
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x732e20
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 0x13]
test al, al
je 0x734858
mov ebx, dword [esp + 0x14]
sub eax, 1
mov byte [ebx + 0x13], al
movzx eax, al
mov ecx, dword [ebx + eax*4 + 0xa4]
mov dword [esp + 0xb0], ecx
sub esp, 0xc
push 1
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
call fcn.0073df20
movzx eax, byte [edi]
sub eax, 0x37
and eax, 2
or eax, 1
movzx edx, byte [esp + eax + 0xe0]
add esp, 0x10
mov ecx, dword [esp + 8]
jmp 0x732e4e
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 8]
test esi, esi
jne 0x734723
jmp 0x735094
mov esi, dword [esi + 0x14]
test esi, esi
je 0x798eed
movzx eax, byte [esi + 0x38]
and eax, 3
cmp al, 2
jne 0x734718
movzx eax, word [esi + 0x32]
mov edx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
call fcn.006b8610
mov dword [esp + 0x38], eax
mov ecx, eax
mov eax, dword [esp + 0x20]
lea edx, [eax + eax]
mov dword [esp + 0xa4], edx
xor edx, edx
test eax, eax
je 0x7347ac
mov dword [esp + 0xa8], ebp
mov ebp, ecx
mov dword [esp + 0xac], edi
mov edi, ebx
mov ebx, edx
mov edx, dword [esi + 4]
sub esp, 8
mov eax, edi
push ebp
add ebp, 1
movsx edx, word [edx + ebx]
add ebx, 2
push edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x4c]
call fcn.0073d4b0
add esp, 0x10
cmp dword [esp + 0xa4], ebx
jne 0x73476f
mov ebx, edi
mov ebp, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x734bcf
sub esp, 8
mov edx, 0x61
mov eax, ebx
push dword [esp + 0x30]
push dword [esp + 0x2c]
mov esi, dword [esp + 0x48]
mov ecx, esi
call fcn.006dc9d0
add esp, 0xc
mov edx, 0x8a
mov eax, ebx
push dword [esp + 0x24]
push esi
xor esi, esi
push dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
call fcn.006dd2e0
add esp, 0x10
cmp dword [esp + 0x20], 1
je 0x734b9b
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x1c]
jle 0x7341e8
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 0x20], edx
jmp 0x7341e8
mov eax, dword [esp + 0x78]
call fcn.006b12a0
test eax, eax
je 0x7315d8
sub esp, 8
mov edx, 0x32
push 0
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7315d8
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x2c]
lea ecx, [ebx + 1]
mov dword [esp + 8], ebx
mov dword [eax + 0x2c], ecx
jmp 0x7346c9
sub esp, 8
mov edx, 0x88
push 0
push 0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x731490
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x734583
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
push 0
mov eax, dword [esp + 0x1c]
add eax, ebx
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
lea eax, [ebx + 1]
mov ecx, ebx
mov dword [esp + 0x4c], eax
add esp, 0x10
mov dword [esp + 0x84], 0
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], 1
jmp 0x73163d
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 4]
movsx eax, word [eax + ebx*2]
test eax, eax
js 0x734b8e
mov edx, dword [edx + 0xc]
shl eax, 4
add eax, dword [edx + 4]
test byte [eax + 4], 0xf
sete byte [esp + 0x3c]
jmp 0x731404
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
cmp eax, 1
jle 0x732ee4
cmp dword [esp + 0x20], 1
sbb edi, edi
and edi, 0xfffffffe
add edi, 0x38
jmp 0x732f0c
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x7317e6
mov dword [esp + 0x88], 1
jmp 0x7317f3
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
jmp 0x73493b
sub esp, 8
add eax, 3
mov edx, 0x11
push 0
push eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0xc
movzx edx, byte [esi + 0xa3a9e0]
push dword [esp + 0x40]
push dword [esp + 0x18]
push dword [esp + 0x7c]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov eax, esi
call fcn.006dd2e0
mov ecx, dword [esp + 0x84]
add esp, 0x10
test ecx, ecx
jne 0x7323c4
mov eax, dword [esi + 0x6c]
jmp 0x7323f5
mov edi, dword [eax + 0x208]
test edi, edi
jne 0x7328a4
sub dword [edx], 1
jne 0x7328a4
mov eax, dword [edx + 0xc]
call fcn.006c0230
jmp 0x7328a4
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x734914
mov eax, dword [esp + 0x160]
mov dword [esp + 8], eax
jmp 0x7330f2
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x2c]
mov eax, ebx
neg ecx
call fcn.006df100
jmp 0x7340ce
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
jmp 0x73469c
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x50]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x38], eax
mov edi, dword [esp + 0x64]
cmp byte [edi + 0x57], 0
jne 0x730b00
jmp 0x731e1a
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 4]
movzx eax, byte [edi + 0xa3a9db]
movzx ecx, byte [edi + 0xa3a9d9]
mov edi, dword [esp + 0x2c]
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x60]
mov dword [edx + 0x40], eax
mov eax, dword [edi + 0x6c]
cmp eax, dword [edi + 0x70]
jge 0x734cf7
mov edi, dword [esp + 0x2c]
lea edx, [eax + 1]
lea ebx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [edi + 0x6c], edx
mov edi, dword [esp + 0x60]
lea eax, [eax + ebx*4]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x44], edx
mov byte [eax + 0x3f], 1
jmp 0x732cb5
sub esp, 8
xor ecx, ecx
mov edx, 0x47
push 0
push dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7339c2
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x73161c
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x80], 1
mov dword [esp + 0x84], 1
jmp 0x73163d
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
jmp 0x734ae5
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 4]
sub esp, 8
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x18], eax
add eax, 1
mov dword [edx + 0x2c], eax
mov edx, 0x47
mov dword [ecx + 0x2c], eax
mov ecx, 1
push 0
push eax
mov eax, dword [esp + 0x3c]
call fcn.006dc9d0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x6c]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x20], eax
lea edx, [eax + eax]
mov eax, dword [esp + 0x68]
add esp, 0x10
mov dword [ecx + 0x2c], edx
mov eax, dword [eax + 0x1c]
cmp byte [eax + ebx], 1
sete al
movzx eax, al
xor eax, dword [esp + 0x20]
or eax, edx
mov dword [ecx + 0x2c], eax
mov ecx, dword [edi + 0x2c]
jmp 0x7313f3
cmp eax, 0xfffffffe
sete byte [esp + 0x3c]
jmp 0x731404
mov eax, dword [esp + 0x38]
test eax, eax
je 0x7341e8
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 0x13]
cmp al, 7
ja 0x7341e8
lea edx, [eax + 1]
mov byte [ecx + 0x13], dl
mov edx, ecx
mov ecx, dword [esp + 0x38]
mov dword [edx + eax*4 + 0xa4], ecx
jmp 0x7341e8
mov esi, dword [ebx + 0x6c]
cmp esi, dword [ebx + 0x70]
jge 0x734f97
mov edx, dword [ebx + 0x68]
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x30]
mov dword [eax + 8], 0
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax], 0xfd1d
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], edx
cmp dword [esp + 0x10], 0xffffffff
je 0x7347f6
sub esp, 8
mov edx, 0x61
mov eax, ebx
push dword [esp + 0x30]
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
call fcn.006dc9d0
add esp, 0xc
mov edx, 0x8a
mov eax, ebx
push dword [esp + 0x24]
push dword [esp + 0x40]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
call fcn.006dd2e0
mov eax, dword [ebx + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7347f6
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x10
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
jmp 0x7347f6
mov ebx, 0xffff8000
jmp 0x730ece
mov dword [esp + 0x88], 1
movzx eax, al
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], 1
jmp 0x73393c
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x735028
mov dword [esp + 0x74], 0
mov edx, dword [edi + 8]
mov dword [esp + 0x58], 0
jmp 0x73401a
sub esp, 8
xor ecx, ecx
mov edx, 0x47
push 0
push dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
call fcn.006dc960
mov dword [esp + 0x9c], eax
add esp, 0x10
jmp 0x733d58
sub esp, 8
movzx edx, cl
push 0
push esi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
call fcn.006dc960
add esp, 0x10
lea edx, [eax + 1]
jmp 0x734aa8
test ah, 2
jne 0x730fc0
jmp 0x73106c
mov ebx, dword [esp + 0x58]
mov edx, 0x24
jmp 0x7339ee
mov edi, dword [edi + 8]
test edi, edi
je 0x734fc6
mov dword [esp + 8], esi
mov dword [esp + 0x10], ebx
jmp 0x734d54
mov edi, dword [edi + 0x14]
test edi, edi
je 0x734fbe
cmp byte [edi + 0x36], 0
je 0x734d49
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x734d49
movzx edx, word [edi + 0x32]
cmp dx, 3
ja 0x734d49
movzx eax, byte [edi + 0x38]
mov ecx, eax
and ecx, 8
cmp cl, 1
sbb ebx, ebx
and ebx, 0xffffff80
add ebx, 0x82
test dx, dx
je 0x734fe4
xor esi, esi
sub esp, 4
mov eax, ebp
push edi
push ebx
push esi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
call fcn.006eda10
add esp, 0x10
test eax, eax
jne 0x734dbb
jmp 0x734e38
mov eax, ebp
call fcn.006ed680
test eax, eax
je 0x734e38
mov edx, dword [eax + 0x24]
or edx, dword [eax + 0x20]
jne 0x734db0
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x38]
mov dword [edx + esi*4], eax
movzx eax, word [edi + 0x32]
add esi, 1
cmp esi, eax
jl 0x734d8d
cmp esi, eax
jne 0x734d49
mov ecx, esi
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 8]
movzx eax, byte [edi + 0x38]
mov dword [esi + 0x2c], 0x1201
test al, 0x20
jne 0x734ff3
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x44]
and eax, dword [edi + 0x40]
and edx, dword [edi + 0x44]
or edx, eax
je 0x734ff3
mov eax, 0x27
mov word [esi + 0x30], cx
mov word [esi + 0x14], ax
mov eax, 0x1201
mov word [esi + 0x18], cx
mov dword [esi + 0x20], edi
jmp 0x733513
movzx eax, word [edi + 0x32]
jmp 0x734dd8
mov eax, dword [esp + 0x58]
mov edx, 0x66666667
mov eax, dword [eax + 8]
movsx ecx, word [eax]
add ecx, 9
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
sar edx, 2
sub edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edx
mov edx, dword [eax + 0x6c]
mov dword [esp + 0x74], edx
cmp edx, dword [eax + 0x70]
jge 0x734f45
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea eax, [edx + edx*4]
mov edx, dword [esi + 0x68]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x7c
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x734eff
cmp byte [esp + 0x80], 0
jne 0x734eff
sub esp, 4
mov edx, 0x17
push dword [esp + 0x40]
push dword [esp + 0x18]
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
call fcn.006dd2e0
mov esi, dword [esp + 0x40]
add esp, 0x10
test esi, esi
jne 0x733a0d
cmp byte [esp + 0x28], 0
jne 0x73440a
mov dword [esp + 0x3c], ebx
jmp 0x7317f3
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x734f1c
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov esi, 1
lea edx, [ecx + edx*4]
mov word [edx - 0x12], si
mov esi, dword [esp + 0x2c]
add eax, 1
mov edx, 0xaa748c
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x734f3d
mov edx, dword [esp + 0x74]
lea ecx, [edx + edx*4]
mov edx, dword [esi + 0x68]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
jmp 0x7316c8
sub esp, 8
mov edx, 0x7c
push 0
push 0
mov eax, dword [esp + 0x3c]
call fcn.006dc960
mov dword [esp + 0x84], eax
add esp, 0x10
jmp 0x734ea9
mov esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x30]
sub esp, 0xc
mov ecx, esi
mov edx, 0xffffffff
xor ebx, ebx
push 0xfffffffffffffff2
mov eax, dword [esp + 0x20]
call fcn.006d0ad0
add esp, 0x10
jmp 0x7318b2
xor eax, eax
jmp 0x73336e
sub esp, 4
mov edx, 0x1d
mov eax, ebx
push dword [esp + 0x24]
push dword [esp + 0x40]
push 0
mov ecx, dword [esp + 0x40]
call fcn.006dd250
add esp, 0x10
mov esi, eax
jmp 0x734c0c
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x733513
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
jmp 0x730b73
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x10]
xor ecx, ecx
jmp 0x734dee
mov eax, 0x27
mov dword [esi + 0x2c], 0x1241
mov word [esi + 0x14], ax
mov eax, 0x1241
mov word [esi + 0x30], cx
mov word [esi + 0x18], cx
mov dword [esi + 0x20], edi
jmp 0x733513
mov eax, edx
mov edx, ecx
call fcn.006b97d0
mov esi, eax
jmp 0x7342e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], 0
mov dword [eax + 0xe8], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x48], 0
jmp 0x734051
mov edi, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov edx, dword [edi + 0x38]
lea ebx, [edi + 0x40]
cmp edx, ebx
jne 0x730ac3
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov edx, edi
call fcn.006bf960
mov word [edi + 0x30], 0
mov dword [edi + 0x2c], 0
jmp 0x730b00
jmp 0x798ef6
jmp 0x798eff
jmp 0x798f08
jmp 0x798eed
jmp 0x798f19
movzx eax, word [0x32]
ud2
movzx eax, word [0x32]
ud2
movzx eax, word [0x32]
ud2
mov eax, dword [esp + 0x14]
add dword [eax + 0x28], 1
movzx eax, word [0x32]
ud2
movzx eax, word [0x32]
ud2