Function at 0x731cd4e0
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x74c
mov eax, dword [0x731f70b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x28]
mov dword [eax + 0x20], 0xffffffff
mov dword [eax + 0x1c], 0xffffffff
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0xffffffff
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0xffffffff
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xffffffff
mov dword [eax + 0x24], 0xffffffff
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0xffffffff
mov dword [eax + 0x30], 0xffffffff
mov dword [eax + 0x34], 0xffffffff
mov dword [eax + 0x38], 0xffffffff
mov dword [eax + 0x3c], 0xffffffff
mov dword [eax + 0x40], 0xffffffff
mov dword [eax + 0x44], 0
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cd592
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x1c8], 1
mov word [ebp - 0x208], dx
mov word [ebp - 0x206], ax
cmp byte [esi + 0x5131], al
je 0x731cd5dd
cmp dword [esi + 0x5158], eax
jne 0x731cd5dd
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 1
mov dword [edx + 0x14], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0xfffe0201
jmp 0x731cd5fc
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 1
mov dword [edx + 0x14], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0xfffe0200
mov eax, dword [edx + 4]
mov edi, 0x731f80d4
mov dword [edx + 8], eax
inc dword [edx + 4]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xac], ecx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x731cd616
mov eax, dword [ebp - 0xac]
sub edi, edx
mov ecx, dword [ecx + 4]
inc edi
mov eax, dword [eax]
lea ebx, [edi + 3]
shr ebx, 2
inc ebx
mov edx, ebx
shl edx, 0x10
or edx, 0xfffe
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xac]
push ebx
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.731c7eb0
mov edx, dword [ebp - 0xac]
push edi
push 0x731f80d4
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x54584554
inc dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0xac]
lea eax, [ebx - 1]
add esp, 0xc
add dword [ecx + 4], eax
mov ebx, dword [esi + 4]
mov eax, ebx
shr eax, 0x12
mov edi, ebx
and eax, 1
shr edi, 0x13
mov dword [ebp - 0x17c], eax
and edi, 1
shr ebx, 2
shl eax, 6
and ebx, 1
add eax, 4
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0xdc], eax
test edi, edi
je 0x731cd6d3
or eax, 0x80
mov dword [ebp - 0xdc], eax
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x731cd6e5
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 0
call fcn.731c7a00
test byte [esi + 0x18], 2
je 0x731cd76d
test ebx, ebx
je 0x731cd76d
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x731cd710
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 3
call fcn.731c7a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cd737
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], ax
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x144], 0xe40000
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xc4], 0
test eax, 0x800000
je 0x731cd7f5
test al, 2
je 0x731cd7ba
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
jne 0x731cd7a3
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x1c], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 0
call fcn.731c7a00
mov dword [ebp - 0xac], 1
test byte [esi + 0x18], 2
je 0x731cd7f5
test ebx, ebx
je 0x731cd7f5
test byte [esi + 4], 8
je 0x731cd7f5
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x20]
cmp eax, 0xffffffff
jne 0x731cd7de
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x20], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 3
call fcn.731c7a00
mov dword [ebp - 0xc4], 1
cmp dword [ebp - 0x17c], 0
je 0x731cd912
test byte [esi + 4], 0x10
je 0x731cd898
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffffff
jne 0x731cd820
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x14], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 0xa
call fcn.731c7a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cd847
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x14], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor ecx, ecx
mov word [ebp - 0x8c], dx
xor ebx, ebx
mov dword [ebp - 0x1c0], ecx
mov edx, 0xe40000
mov word [ebp - 0x8a], bx
mov eax, 1
mov dword [ebp - 0x15c], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x158], edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0x154], ecx
jmp 0x731cd93c
xor eax, eax
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x98]
push 3
push eax
mov dword [ebp - 0xb4], 0xe40000
call fcn.731c77f0
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x15c], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x158], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0x154], ecx
jmp 0x731cd93c
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1c4], eax
test edi, edi
je 0x731cda65
test byte [esi + 4], 0x20
je 0x731cd9e6
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
cmp eax, 0xffffffff
jne 0x731cd968
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x18], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 0xa
call fcn.731c7a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cd98f
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x18], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov word [ebp - 0x8c], dx
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xf8], ecx
xor edi, edi
mov dword [ebp - 0x10c], ecx
mov eax, 0xe40000
mov word [ebp - 0x8a], di
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x100], ecx
jmp 0x731cda95
xor eax, eax
mov dword [ebp - 0xbc], 2
push eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xb4], 0xe40000
call fcn.731c77f0
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x100], ecx
jmp 0x731cda95
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], eax
test byte [esi + 8], 0x20
je 0x731cdb6e
test byte [esi + 4], 0x40
je 0x731cdb02
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
cmp eax, 0xffffffff
jne 0x731cdab9
mov eax, dword [ecx + 0x44]
mov dword [ecx + 8], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 4
call fcn.731c7a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cdae0
mov eax, dword [ecx + 0x44]
mov dword [ecx + 8], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], ax
mov dword [ebp - 0x1f0], 1
mov dword [ebp - 0x1ec], eax
jmp 0x731cdb5c
push 2
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 2
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb0], 0x62
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
call fcn.731c77f0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1e4], eax
test byte [esi + 0x18], 4
je 0x731cdd3c
test byte [esi + 4], 0x80
je 0x731cdbfc
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
cmp eax, 0xffffffff
jne 0x731cdb92
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 1
call fcn.731c7a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cdbb9
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov eax, 1
mov word [ebp - 0x8c], dx
mov dword [ebp - 0x1b8], eax
xor eax, eax
mov word [ebp - 0x8a], ax
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x18c], 0xe40000
mov dword [ebp - 0x1d0], edi
mov dword [ebp - 0x188], edi
jmp 0x731cdc67
xor eax, eax
mov dword [ebp - 0xbc], 2
push eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xb4], 0xe40000
call fcn.731c77f0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x188], eax
mov eax, dword [esi + 4]
test eax, 0x4000000
je 0x731cdd16
test eax, 0x10000
je 0x731cdd00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
cmp eax, 0xffffffff
jne 0x731cdc94
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x10], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 2
call fcn.731c7a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cdcbb
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x10], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x178], 1
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], ax
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x19c], 0xe40000
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0x198], edi
jmp 0x731cdd84
mov dword [ebp - 0x178], 2
mov dword [ebp - 0x8c], 2
jmp 0x731cdcd5
mov edi, dword [ebp - 0x198]
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0xfc], edi
mov edi, dword [ebp - 0x1a4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x178], edi
jmp 0x731cdd84
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x178], eax
mov eax, 1
lea ebx, [ebp - 0x88]
rol eax, 0
mov edx, 0x24
mov ecx, 5
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x134], ecx
test byte [esi + 5], al
je 0x731cde9c
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + edx]
mov dword [ebp - 0x150], eax
cmp eax, 0xffffffff
jne 0x731cdde0
mov eax, dword [ecx + 0x44]
mov dword [ecx + edx], eax
inc dword [ecx + 0x44]
mov eax, dword [ecx + edx]
mov dword [ebp - 0x150], eax
mov edi, dword [esi + 0x1c]
push 0x10
mov byte [edi + 0x18], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x134]
mov dword [edi + 8], eax
or ecx, 0x80000000
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + edx*4], ecx
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [ebp - 0x150]
or edx, 0x900f0000
mov dword [eax + ecx*4], edx
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
sub edx, ecx
mov eax, dword [edi]
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cde50
inc dword [edi + 0x14]
mov edx, dword [ebp - 0x184]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + edx]
movzx edi, ax
cmp eax, 0xffffffff
jne 0x731cde75
mov eax, dword [ecx + 0x44]
mov dword [ecx + edx], eax
inc dword [ecx + 0x44]
movzx edi, word [ecx + edx]
mov ecx, dword [ebp - 0x134]
xor eax, eax
mov dword [ebx], 1
mov word [ebp - 0x8c], di
mov word [ebp - 0x8a], ax
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x8c]
jmp 0x731cdead
xor eax, eax
mov dword [ebx], 2
mov dword [ebp - 0x1a8], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0xe40000
add edx, 4
mov dword [ebx + 0xc], eax
add ecx, 0x10000
mov eax, dword [ebp - 0x138]
add ebx, 0x10
rol eax, 1
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], eax
cmp edx, 0x44
jb 0x731cddb4
cmp dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1f4], eax
je 0x731ce15d
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cdf77
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x1c], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 1
push eax
push 1
mov word [ebp - 0xb0], dx
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
call fcn.731c7a80
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 2
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx]
mov dword [ebp - 0x12c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731cdffd
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0xbc], 1
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0xb0], dx
push eax
push 2
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0x1000000
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0x70000
call fcn.731c7b10
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 2
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx]
mov dword [ebp - 0x12c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731ce0aa
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0xbc], 1
mov word [ebp - 0xae], ax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov word [ebp - 0xb0], dx
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xb4], 0xe40000
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xb8], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], 2
mov dword [ebp - 0xcc], 9
mov dword [ebp - 0xd0], 0xff0000
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0x70000
call fcn.731c7ba0
mov dword [ebp - 0x8c], 2
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x1c8], 0
jmp 0x731ce163
mov edi, dword [ebp - 0x208]
cmp dword [ebp - 0xc4], 0
mov dword [ebp - 0xac], edi
je 0x731ce3ca
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 3
mov dword [ebp - 0x90], 0x70000
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731ce1b8
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x20], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 1
push eax
push 1
mov word [ebp - 0xb0], dx
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
call fcn.731c7a80
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 3
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx + 4]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 3
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731ce268
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0xbc], 1
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0xb0], dx
push eax
push 2
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0x1000000
call fcn.731c7b10
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 3
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx + 4]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 3
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x731ce31f
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0xbc], 1
mov word [ebp - 0xae], ax
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov word [ebp - 0xb0], dx
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xb4], 0xe40000
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xb8], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], 2
mov dword [ebp - 0xcc], 9
mov dword [ebp - 0xd0], 0xff0000
call fcn.731c7ba0
mov dword [ebp - 0x8c], 3
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xe40000
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 0x18]
test al, 4
je 0x731cf584
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x1c]
shr eax, 0x12
and eax, 3
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x138], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x94], 8
push eax
push 1
mov dword [ebp - 0x90], 0x10000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xff0000
call fcn.731c7a80
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
push 1
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
call fcn.731c7a80
mov eax, dword [esi + 0x18]
test al, 2
je 0x731ce523
xor eax, eax
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x170]
push eax
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xe40000
call fcn.731c77f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.731c7a80
mov eax, dword [esi + 0x18]
test al, 1
je 0x731ce589
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
push 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xe40000
call fcn.731c7a80
mov ax, word [ebp - 0x186]
xor ebx, ebx
mov di, word [ebp - 0x196]
mov word [ebp - 0xc2], ax
mov word [ebp - 0xf2], di
jmp 0x731ce5b0
mov edi, dword [ebp - 0x1cc]
mov eax, ebx
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0xd4], edi
mov di, word [ebp - 0xc2]
mov word [ebp - 0xca], di
mov di, word [ebp - 0xf2]
mov dword [ebp - 0xd8], edx
mov word [ebp - 0xcc], cx
sub eax, 1
je 0x731ce60d
sub eax, 1
je 0x731ce606
sub eax, 1
je 0x731ce5ff
xor eax, eax
jmp 0x731ce612
mov eax, 0xff0000
jmp 0x731ce612
mov eax, 0xaa0000
jmp 0x731ce612
mov eax, 0x550000
mov dword [ebp - 0xd0], eax
cmp ebx, dword [ebp - 0x138]
jne 0x731ce659
mov dword [ebp - 0x208], 8
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], eax
jmp 0x731ce724
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xcc]
shr eax, 0x10
mov word [ebp - 0x122], ax
mov eax, dword [edi]
mov word [ebp - 0x124], cx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb0], 8
mov dword [ebp - 0xb4], 0
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], 0x1000000
mov dword [eax + ecx*4], 0x80010008
lea eax, [ebp - 0xbc]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x130]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ce719
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov di, word [ebp - 0xf2]
test dword [esi + 4], 0x4000000
je 0x731cf038
mov eax, ebx
mov word [ebp - 0x1d2], di
sub eax, 1
je 0x731ce792
sub eax, 1
je 0x731ce786
sub eax, 1
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0xfc]
mov word [ebp - 0x1d4], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1dc], eax
je 0x731ce77a
mov dword [ebp - 0x1d8], 0
jmp 0x731ce7c1
mov dword [ebp - 0x1d8], 0xff0000
jmp 0x731ce7c1
mov dword [ebp - 0x1d8], 0xaa0000
jmp 0x731ce79c
mov dword [ebp - 0x1d8], 0x550000
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0xfc]
mov word [ebp - 0x1d4], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1dc], eax
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x1e0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ce81e
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x188], 0xa
lea eax, [ecx + 0x14]
mov dword [ebp - 0x18c], 0x550000
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x190], 0
push eax
call fcn.7320ddda
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x194]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x170]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ce8ca
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x198], 0xa
lea eax, [ecx + 0x1c]
mov dword [ebp - 0x19c], 0x550000
push eax
lea eax, [ebp - 0x404]
mov dword [ebp - 0x1a0], 0
push eax
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x1a4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x404]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ce976
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe4], 0xa
mov dword [ebp - 0xe8], 0x550000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xec], 0
mov dword [eax + ecx*4], 0x2e
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0xb0010000
lea eax, [ebp - 0xf0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ce9ff
inc dword [edi + 0x14]
sub esp, 0x10
mov dword [ebp - 0x398], 0x10004
mov eax, dword [ebp - 0x398]
mov ecx, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x10
mov dword [ebp - 0x388], 6
mov eax, dword [ebp - 0x388]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x318], 0x10000
mov eax, dword [ebp - 0x318]
mov byte [edi + 0x18], 1
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [ebp - 0x98], 2
mov dword [ebp - 0x94], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [ebp - 0x90], 0xe40000
mov dword [eax], 0
mov dword [eax + 4], 0xc
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
sub esp, 0x10
mov dword [ebp - 0x378], 6
mov eax, dword [ebp - 0x378]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x368], 0x12
mov dword [ebp - 0x358], 0xc
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x368]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x358]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0xa
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
sub esp, 0x10
mov dword [ebp - 0x3a8], 6
mov eax, dword [ebp - 0x3a8]
mov ecx, esp
mov dword [ebp - 0x3d8], 0x1a
mov dword [ebp - 0x3b8], 0xa
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x3d8]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x3b8]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 9
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
cmp ebx, dword [ebp - 0x138]
jne 0x731cecda
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x234]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 7
mov dword [ebp - 0x23c], 0xe40000
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x228], 9
mov dword [ebp - 0x22c], 0xe40000
mov dword [ebp - 0x230], 0
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x244]
jmp 0x731ced56
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x254]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x258], 7
mov dword [ebp - 0x25c], 0xe40000
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x248], 9
mov dword [ebp - 0x24c], 0xe40000
mov dword [ebp - 0x250], 0
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x264]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ced86
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x731cee57
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x274], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x270], eax
mov eax, dword [edi]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x27c], 0xe40000
mov dword [ebp - 0x268], 0xa
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x26c], 0xe40000
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x274]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x284]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cee50
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x731cf572
cmp dword [ebp - 0x120], 0
je 0x731cf572
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x294], 2
mov dword [ebp - 0x288], 0x16
mov dword [ebp - 0x28c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x290], 0
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070006
lea eax, [ebp - 0x14c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x294]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731ceeff
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x298], 6
mov dword [ebp - 0x29c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2a0], 0
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2a4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x98]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cef96
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2ac], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x218], 0xb
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x21c], 0xe40000
mov dword [ebp - 0x220], 0
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x224]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2b4]
jmp 0x731cf53e
test ebx, ebx
jne 0x731cf041
lea eax, [ebx + 0xa]
jmp 0x731cf04e
mov eax, ebx
shl eax, 6
add eax, 0x460
shr eax, 4
mov word [ebp - 0x328], ax
xor eax, eax
mov word [ebp - 0x326], ax
test ebx, ebx
jne 0x731cf067
lea eax, [ebx + 0xe]
jmp 0x731cf074
mov eax, ebx
shl eax, 6
add eax, 0x520
shr eax, 4
mov word [ebp - 0x3c8], ax
xor eax, eax
mov word [ebp - 0x3c6], ax
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x1b4], 2
mov dword [ebp - 0x1ac], 0xe40000
mov dword [ebp - 0x1a8], eax
test ebx, ebx
jne 0x731cf0b3
lea eax, [ebx + 3]
jmp 0x731cf0c0
mov eax, ebx
shl eax, 6
add eax, 0x3a0
shr eax, 4
sub esp, 0x10
mov word [ebp - 0x348], ax
mov ecx, esp
mov dword [ebp - 0x3e8], 6
xor eax, eax
sub esp, 0x10
mov word [ebp - 0x346], ax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x348]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 9
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
cmp ebx, dword [ebp - 0x138]
jne 0x731cf20b
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x2c4]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2c8], 7
mov dword [ebp - 0x2cc], 0xe40000
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2b8], 9
mov dword [ebp - 0x2bc], 0xe40000
mov dword [ebp - 0x2c0], 0
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2d4]
jmp 0x731cf287
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x2e4]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2e8], 7
mov dword [ebp - 0x2ec], 0xe40000
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2d8], 9
mov dword [ebp - 0x2dc], 0xe40000
mov dword [ebp - 0x2e0], 0
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2f4]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cf2b7
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x731cf421
sub esp, 0x10
mov dword [ebp - 0x338], 6
mov eax, dword [ebp - 0x338]
mov ecx, esp
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x328]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0xa
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x304], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x300], eax
mov eax, dword [edi]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x30c], 0xe40000
mov dword [ebp - 0x2f8], 0xa
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2fc], 0xe40000
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x304]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x314]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cf41a
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x731cf572
cmp dword [ebp - 0x120], 0
je 0x731cf572
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x14c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x1b4]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cf4a1
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x110], 0xb
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x114], 0xe40000
mov dword [ebp - 0x118], 0
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x11c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0xa8]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cf56e
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
inc ebx
cmp ebx, dword [ebp - 0x138]
jbe 0x731ce5b0
jmp 0x731cf738
test al, 1
je 0x731cf618
sub esp, 0x10
mov dword [ebp - 0x1a8], 0xa
mov ecx, esp
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x8c], eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, esi
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], edi
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
mov eax, dword [esi + 0x18]
test al, 2
je 0x731cf684
cmp dword [ebp - 0x120], 0
je 0x731cf684
mov ecx, dword [esi + 0x24]
push 0x40
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 1
lea eax, [ecx + 0xe0]
mov dword [ebp - 0x90], 0x70000
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x8c], 0
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x98]
push eax
push 0x17
call fcn.731c7b10
mov ecx, dword [esi + 0x24]
push 0x40
mov dword [ebp - 0x1a8], 0xb
lea eax, [ecx + 0x30]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.731c8890
mov eax, dword [ebp - 0x1a8]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x98]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x90]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 4
mov dword [eax + 4], 0
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.731cc190
test byte [esi + 0x18], 2
je 0x731cf829
cmp dword [ebp - 0x120], 0
je 0x731cf829
cmp dword [esi + 4], 0
jge 0x731cf829
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 0x24
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xb
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 1
mov dword [ebp - 0x9c], 0xb
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
test dword [esi + 4], 0x1000000
je 0x731d0340
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x660]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x670]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x640]
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x650]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.731c8890
test dword [esi + 4], 0x40000000
je 0x731cfaf6
mov eax, dword [esi + 8]
mov edx, eax
mov ecx, eax
shr edx, 0xa
mov edi, eax
shr ecx, 0xc
shr edi, 0xe
and ecx, 3
shr eax, 0x10
and edi, 3
and edx, 3
mov dword [ebp - 0xac], ecx
and eax, 3
mov dword [ebp - 0x138], edi
test byte [esi + 4], 0x10
je 0x731cf9ec
cmp edx, 1
jne 0x731cf90b
mov ecx, dword [ebp - 0x1c0]
mov edi, dword [ebp - 0x1c4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], ecx
jmp 0x731cf929
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xc4], edi
cmp ecx, 1
jne 0x731cf970
mov edi, dword [ebp - 0x1c4]
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x1bc]
mov dword [ebp - 0x144], edi
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x140], edi
mov edi, dword [ebp - 0xc4]
cmp dword [ebp - 0x138], 1
jne 0x731cf9af
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xac]
cmp eax, 1
jne 0x731cfa16
mov edi, dword [ebp - 0x1c4]
mov dword [ebp - 0x160], edi
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x15c], edi
mov edi, dword [ebp - 0x1bc]
mov dword [ebp - 0x158], edi
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x154], edi
mov edi, dword [ebp - 0xc4]
jmp 0x731cfa16
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xc4], edi
test byte [esi + 4], 0x20
je 0x731cfb1a
cmp edx, 2
jne 0x731cfa5d
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x174]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], edx
jmp 0x731cfa63
mov edx, dword [ebp - 0x13c]
cmp ecx, 2
mov ecx, dword [ebp - 0xf8]
jne 0x731cfa98
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x140], edi
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x138], 2
jne 0x731cfacb
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd0], edx
cmp eax, 2
jne 0x731cfb1a
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], eax
jmp 0x731cfb1a
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc4], edi
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0x110], 0xa
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xe40000
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xa
mov dword [ebp - 0x18c], 0x70000
mov dword [ebp - 0x188], 0
cmp eax, 2
je 0x731cfbd1
cmp ebx, 2
je 0x731cfbd1
cmp ebx, 1
jne 0x731cfb95
cmp eax, ebx
je 0x731cfbd1
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.731c8890
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x194]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.731c7ba0
jmp 0x731cfc3c
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x194]
push eax
push 1
call fcn.731c7a80
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x194]
push eax
push 5
call fcn.731c7b10
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x194]
push eax
push 2
call fcn.731c7b10
test dword [esi + 4], 0x20000000
je 0x731cfcef
cmp dword [ebp - 0x180], 0
je 0x731cfcef
xor ecx, ecx
mov dword [ebp - 0x8c], 0xb
mov eax, 0xe40000
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x13c], eax
xor edx, edx
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x8c]
push 4
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1f4], eax
lea eax, [ebp - 0x170]
push ecx
push eax
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x94], 0xb
mov dword [ebp - 0x90], 0x70000
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.731c7a80
mov edi, dword [ebp - 0xc4]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x24]
shr edx, 3
and edx, 0xffffff01
mov cl, dl
mov dword [ebp - 0xc8], edx
xor cl, 1
mov byte [eax + 0xfa94], cl
test byte [esi + 8], 1
je 0x731cfe95
test dl, dl
jne 0x731cfd4e
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0xa0], 0xe40000
call fcn.731c7cb0
mov ecx, dword [ebp - 0x184]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a8], eax
mov eax, esp
mov dword [ebp - 0x8c], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x110]
sub esp, 0x10
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xd4]
sub esp, 0x10
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xf4]
sub esp, 0x10
mov ebx, dword [ebp - 0x120]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x8c]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1a8]
push ebx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.731cc2d0
mov edx, dword [ebp - 0xc8]
test dl, dl
jne 0x731cfe9b
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731cfe89
inc dword [edi + 0x14]
mov edx, dword [ebp - 0xc8]
mov byte [edi + 0x18], 1
jmp 0x731cfe9b
mov ebx, dword [ebp - 0x120]
test byte [esi + 8], 2
je 0x731d0025
test dl, dl
jne 0x731cfee0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
call fcn.731c7cb0
mov ecx, dword [ebp - 0x184]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a8], eax
mov eax, esp
mov edi, dword [ebp - 0xd8]
sub esp, 0x10
mov dword [ebp - 0x8c], 1
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x110]
sub esp, 0x10
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xd4]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xc4]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x8c]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1a8]
push ebx
push 1
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.731cc2d0
mov eax, dword [ebp - 0xc8]
test al, al
jne 0x731d0031
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731d0021
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc8]
test byte [esi + 8], 4
je 0x731d01b4
test al, al
jne 0x731d0076
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0x9c], 2
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
call fcn.731c7cb0
mov ecx, dword [ebp - 0x184]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a8], eax
mov eax, esp
mov dword [ebp - 0x8c], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x110]
sub esp, 0x10
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xd4]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xc4]
sub esp, 0x10
mov edi, dword [ebp - 0xe4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov ecx, esp
mov dword [eax + 0xc], edi
sub esp, 0x10
mov eax, dword [ebp - 0x8c]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1a8]
push ebx
push 2
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.731cc2d0
cmp byte [ebp - 0xc8], 0
jne 0x731d01ba
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.731c7eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x731d01b0
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xe4]
cmp dword [ebp - 0x17c], 0
je 0x731d027e
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 5
push eax
push 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xa4], eax
mov ax, word [ebp - 0xe2]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9c], di
push eax
push 1
mov dword [ebp - 0xa0], 0xff0000
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0x80000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
cmp dword [ebp - 0x180], 0
je 0x731d03d2
test dword [esi + 4], 0x20000000
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x8c], 0
je 0x731d032b
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x90], 0x70000
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebp - 0x140]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0xa4], eax
movzx eax, word [ebp - 0x13e]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], 0xff0000
mov dword [ebp - 0x90], 0x80000
jmp 0x731d03a2
mov dword [ebp - 0x90], 0xf0000
lea eax, [ebp - 0x10c]
jmp 0x731d03c3
cmp dword [ebp - 0x17c], 0
je 0x731d0389
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 5
push eax
push 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
cmp dword [ebp - 0x180], 0
je 0x731d03d2
mov dword [ebp - 0x90], 0xf0000
lea eax, [ebp - 0x10c]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x8c], 0
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.731c7a80
mov edx, dword [esi + 4]
mov eax, edx
mov edi, dword [ebp - 0xdc]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x731d06eb
mov ebx, dword [esi + 8]
or edi, 0x2000
shr ebx, 0x14
mov dword [ebp - 0xdc], edi
and ebx, 3
je 0x731d0f25
push 0
push 0xb
lea ecx, [ebp - 0x108]
call fcn.731c7860
mov edi, dword [ebp - 0x108]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x94], edi
test edx, 0x10000000
je 0x731d0579
xor eax, eax
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x114], 0xe40000
push eax
lea eax, [ebp - 0x98]
push eax
push 8
call fcn.731c7b10
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 7
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
push 6
jmp 0x731d05b7
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0xa0], 0xaa0000
push 0x23
call fcn.731c7a80
sub ebx, 1
je 0x731d0dac
sub ebx, 1
je 0x731d0c8f
sub ebx, 1
jne 0x731d06e5
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x90]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], ebx
mov ebx, dword [ebp - 0x100]
push eax
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
push 4
mov dword [ebp - 0xa8], 0
lea eax, [ecx + 0x94]
mov word [ebp - 0x9c], di
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa0], ebx
push eax
mov dword [ebp - 0xa4], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x98], 4
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x94], 1
push eax
push 2
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.731c7b10
mov edi, dword [ebp - 0xdc]
mov eax, dword [esi + 8]
test al, 0x20
je 0x731d12b0
test dword [esi + 4], 0x100000
je 0x731d12b0
or edi, 0x20
mov dword [ebp - 0xdc], edi
test al, 0x10
je 0x731d1270
push 0
push 0xb
lea ecx, [ebp - 0xec]
call fcn.731c7860
mov edi, dword [ebp - 0xec]
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x94], edi
mov edi, dword [ebp - 0xe8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 8
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0x114], 0xe40000
mov dword [ebp - 0x90], edi
call fcn.731c7b10
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov ebx, dword [ebp - 0xe4]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9a], cx
push eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x1c]
push 7
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x90], edi
call fcn.731c7a80
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9a], cx
push eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x1c]
push 6
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x90], edi
call fcn.731c7a80
push 0
push 0xa
lea ecx, [ebp - 0x108]
call fcn.731c7860
mov eax, dword [ebp - 0x108]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
push 4
lea eax, [ecx + 0x634]
mov dword [ebp - 0x98], 0
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x8c], 0
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.731c7a80
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xa0], ecx
xor ecx, ecx
mov word [ebp - 0x9a], cx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], ecx
mov word [ebp - 0x10e], cx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x24]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x638]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], 0
push eax
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x110], di
mov dword [ebp - 0x114], ebx
call fcn.731c8890
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.731c7ba0
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov word [ebp - 0x10e], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x630]
push 4
push eax
lea eax, [ebp - 0x170]
mov word [ebp - 0x9c], di
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0x108]
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x110], bx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.731c8890
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.731c7ba0
cmp byte [esi + 0x5131], 0
mov edx, dword [esi + 0x24]
je 0x731d0fa7
xor eax, eax
mov dword [ebp - 0xa8], 0
push 4
mov word [ebp - 0x9a], ax
mov ecx, edx
push edx
lea eax, [ebp - 0x170]
mov word [ebp - 0x9c], bx
push eax
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
push 6
call fcn.731c7c40
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x620]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 4
push eax
push 1
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [eax + edx*4], 0x2a
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.731c7df0
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 7
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x62c]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9c], bx
push eax
push 5
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
call fcn.731c7b10
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [eax + edx*4], 0x2b
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.731c7df0
jmp 0x731d12b0
mov ebx, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x54c]
push eax
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c84b0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov word [ebp - 0x10e], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9c], di
push eax
push 5
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x110], di
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c7b10
xor eax, eax
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x4ec]
jmp 0x731d0e39
mov ebx, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x4fc]
push eax
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c84b0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
xor eax, eax
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x50c]
push ecx
push eax
mov dword [ebp - 0xa4], 0x1000000
mov dword [ebp - 0xa0], ebx
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x94], 0xa
mov dword [ebp - 0x98], 0
call fcn.731c8470
mov ecx, dword [esi + 0x1c]
add esp, 4
push eax
lea eax, [ebp - 0x98]
push eax
push 0x20
call fcn.731c7b10
push 0
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.731c7860
mov ax, word [ebp - 0xd4]
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 1
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0xf0000
call fcn.731c7a80
jmp 0x731d06e5
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x174]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xa4], eax
mov ax, word [ebp - 0xfe]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa0], 0xff0000
push eax
push 1
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
jmp 0x731d06eb
push 2
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.731c7860
push 1
push 0xa
lea ecx, [ebp - 0xec]
call fcn.731c7860
xor eax, eax
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0xec]
mov ecx, edx
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xe8]
push 4
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x170]
push edx
push eax
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 0xc
call fcn.731c7b10
mov eax, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x620]
push 4
push eax
lea eax, [ebp - 0x170]
mov word [ebp - 0x9c], di
mov edi, dword [ebp - 0xd4]
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
mov ecx, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
push 7
mov ecx, dword [esi + 0x1c]
call fcn.731c7a80
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x62c]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.731c8890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.731c7b10
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
xor eax, eax
mov word [ebp - 0x10e], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x1f0]
mov word [ebp - 0x9c], di
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa4], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0x110], bx
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
call fcn.731c7ba0
jmp 0x731d12b0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 4
push eax
push 1
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.731c7a80
mov ecx, dword [esi + 8]
xor edi, edi
mov edx, dword [ebp - 0xdc]
shr ecx, 6
and ecx, 0xf
mov dword [ebp - 0x180], edi
mov eax, ecx
mov dword [ebp - 0x150], ecx
shl eax, 8
or edx, eax
mov dword [ebp - 0xdc], edx
test ecx, ecx
je 0x731d293f
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x140], 0xa
mov dword [ebp - 0x144], 0xe40000
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x108], 0xa
mov dword [ebp - 0x104], 0xf0000
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xe0], 0x10
mov dword [ebp - 0x17c], 0x1e0
push edi
mov ecx, esi
call fcn.731c8280
mov ebx, eax
cmp ebx, 0x30000
ja 0x731d191e
je 0x731d1437
cmp ebx, 0x10000
je 0x731d1376
cmp ebx, 0x20000
jne 0x731d1926
xor eax, eax
mov dword [ebp - 0x418], eax
lea ebx, [eax + 2]
jmp 0x731d20a5
xor ecx, ecx
mov dword [ebp - 0x428], 1
mov eax, dword [ebp - 0x428]
xor edi, edi
mov edx, 0xe40000
mov dword [ebp - 0x134], edi
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x120], ecx
jne 0x731d142d
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x454]
push 4
push ecx
push eax
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x80070001
lea eax, [ebp - 0x454]
inc dword [edi + 4]
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xfc]
mov ebx, 2
jmp 0x731d20d8
test dword [esi + 4], 0x2000000
je 0x731d16fb
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa8], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xa0], 0xe40000
mov dword [eax + ecx*4], 0x24
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8007000a
lea eax, [ebp - 0xa8]
inc dword [edi + 4]
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
cmp dword [ebp - 0x120], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x731d16a9
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x308], 0xa
mov dword [ebp - 0x30c], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x11c]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x114], 0xe40000
mov dword [ebp - 0x118], 0
call fcn.731c7d50
lea eax, [ebp - 0x314]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2e8], 9
mov dword [ebp - 0x2ec], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2f8], 9
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x300], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x304]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2f4]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2b8], 0xa
mov dword [ebp - 0x2bc], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2c8], 1
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2cc], 0xe40000
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2e4], 0
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2e4]
inc dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x2d8], 9
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2e0], 0x1000000
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2d4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2c4]
jmp 0x731d18f5
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2a8], 0xa
mov dword [ebp - 0x2ac], 0xe40000
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2b4]
inc dword [edi + 4]
mov dword [ebp - 0x2b0], 0
jmp 0x731d18f5
cmp dword [ebp - 0x120], 0
je 0x731d182f
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x298], 1
mov dword [ebp - 0x29c], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x218], 1
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x21c], 0xaa0000
mov dword [ebp - 0x220], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x224]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x27c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x288], 9
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x290], 0x1000000
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x294]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x284]
jmp 0x731d186e
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x464]
push 4
push ecx
push eax
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8007000b
lea eax, [ebp - 0x464]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x268], 0xb
lea eax, [ecx + 0xc]
mov dword [ebp - 0x26c], 0xe40000
push eax
lea eax, [ebp - 0x474]
mov dword [ebp - 0x270], 0
push eax
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8004000b
lea eax, [ebp - 0x274]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x474]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov dword [ebp - 0x408], 0xb
mov ebx, 2
mov eax, dword [ebp - 0x408]
jmp 0x731d20a5
cmp ebx, 0x40000
je 0x731d1950
and ebx, 7
mov eax, ebx
add eax, eax
movzx ebx, byte [esi + ebx + 0xc]
shr ebx, 6
mov edi, dword [ebp + eax*8 - 0x88]
mov ecx, dword [ebp + eax*8 - 0x84]
mov edx, dword [ebp + eax*8 - 0x80]
mov eax, dword [ebp + eax*8 - 0x7c]
jmp 0x731d20ae
test dword [esi + 4], 0x2000000
je 0x731d1cc9
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x25c], 0xe40000
mov dword [eax + ecx*4], 0x24
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8007000a
lea eax, [ebp - 0x264]
inc dword [edi + 4]
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
cmp dword [ebp - 0x120], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x731d1bbf
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 0xa
mov dword [ebp - 0x23c], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x254]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x248], 1
mov dword [ebp - 0x24c], 0xe40000
mov dword [ebp - 0x250], 0
call fcn.731c7d50
lea eax, [ebp - 0x244]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x328], 9
mov dword [ebp - 0x32c], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x228], 9
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x230], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x234]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x334]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x3e8], 0xa
mov dword [ebp - 0x3ec], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x348], 1
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x34c], 0xe40000
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x344], 0
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x344]
inc dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x338], 9
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x340], 0x1000000
push eax
call fcn.731c7d50
lea eax, [ebp - 0x354]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x3f4]
jmp 0x731d1c0c
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3c8], 0xa
mov dword [ebp - 0x3cc], 0xe40000
mov dword [eax + edx*4], 0x80070008
lea eax, [ebp - 0x3d4]
inc dword [edi + 4]
mov dword [ebp - 0x3d0], 0
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0x51c]
push eax
call fcn.7320ddda
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3e0], 0x1000000
mov dword [ebp - 0x3c4], 0
mov ecx, dword [eax]
mov dword [ebp - 0x3e4], ecx
mov cx, word [eax + 0xc]
mov word [ebp - 0x3d8], cx
mov ecx, dword [eax + 8]
mov ax, word [eax + 0xe]
mov word [ebp - 0x3d6], ax
mov eax, dword [edi]
mov dword [ebp - 0x3dc], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0x3b8], 8
mov dword [ebp - 0x3bc], 0xaa0000
mov dword [ebp - 0x3c0], 0
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x3c4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x3e4]
jmp 0x731d1dfb
cmp dword [ebp - 0x120], 0
je 0x731d203f
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x35c], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3a8], 1
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3ac], 0xaa0000
mov dword [ebp - 0x3b0], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x3b4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x364]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x378], 1
mov dword [ebp - 0x37c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x368], 9
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x370], 0x1000000
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x374]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x384]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x388], 8
mov dword [ebp - 0x38c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x318], 8
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x31c], 0xe40000
mov dword [ebp - 0x320], 0
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x324]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x394]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x398], 8
mov dword [ebp - 0x39c], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3a0], 0
mov dword [eax + ecx*4], 7
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x80040008
lea eax, [ebp - 0x3a4]
inc dword [edi + 4]
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x208], 8
lea eax, [ecx + 0x10]
mov dword [ebp - 0x20c], 0xaa0000
push eax
lea eax, [ebp - 0x484]
mov dword [ebp - 0x210], 0
push eax
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x214]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x484]
mov ecx, edi
push eax
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 8
lea eax, [ecx + 0x10]
mov dword [ebp - 0x90], 0xaa0000
push eax
lea eax, [ebp - 0x494]
mov dword [ebp - 0x94], 0
push eax
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a8], 8
mov dword [ebp - 0x1ac], 0xe40000
mov dword [ebp - 0x1b0], 0
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8003000b
lea eax, [ebp - 0x1b4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x98]
mov ecx, edi
push eax
call fcn.731c7d50
lea eax, [ebp - 0x494]
jmp 0x731d2081
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x10]
push eax
lea eax, [ebp - 0x4a4]
push eax
call fcn.731c8890
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8003000b
lea eax, [ebp - 0x4a4]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov dword [ebp - 0x438], 0xb
mov ebx, 1
mov eax, dword [ebp - 0x438]
xor edi, edi
mov edx, 0xe40000
xor ecx, ecx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x1a0], ecx
xor ecx, ecx
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0xac], ecx
test byte [esi + 0xb], al
je 0x731d210e
mov ecx, 0x100
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0x180]
movzx eax, byte [esi + eax + 0xc]
shr eax, 4
and eax, 3
sub eax, 1
je 0x731d2138
sub eax, 1
je 0x731d2133
sub eax, 1
jne 0x731d2141
or ecx, 4
jmp 0x731d213b
or ecx, 3
jmp 0x731d213b
or ecx, 2
mov dword [ebp - 0xac], ecx
mov edx, ecx
and edx, 0xfffffeff
mov dword [ebp - 0xc8], edx
je 0x731d264b
mov ecx, dword [ebp - 0x17c]
xor eax, eax
shr ecx, 4
mov word [ebp - 0x1f2], ax
mov dword [ebp - 0x200], 2
mov word [ebp - 0x1f4], cx
lea eax, [ecx + 1]
mov dword [ebp - 0x1f8], 0xe40000
mov word [ebp - 0x1e4], ax
xor eax, eax
mov word [ebp - 0x1e2], ax
lea eax, [ecx + 2]
mov word [ebp - 0x124], ax
xor eax, eax
mov word [ebp - 0x122], ax
lea eax, [ecx + 3]
mov word [ebp - 0xb0], ax
xor eax, eax
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f0], 2
mov dword [ebp - 0x1e8], 0xe40000
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x130], 2
mov dword [ebp - 0x128], 0xe40000
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
mov word [ebp - 0xae], ax
cmp edx, 4
jb 0x731d222e
mov dword [ebp - 0xc8], 4
cmp edi, 2
jne switch.0x731d2309
mov edi, dword [esi + 0x1c]
mov eax, ebx
mov ecx, dword [edi + 4]
sub eax, 0
je 0x731d229f
sub eax, 1
je 0x731d227f
sub eax, 1
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
je 0x731d226e
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x800f000b
jmp 0x731d22bd
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
jmp 0x731d22bd
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8003000b
jmp 0x731d22bd
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + edx*4], 0x8001000b
inc dword [edi + 4]
lea eax, [ebp - 0xf0]
push eax
mov ecx, edi
call fcn.731c7d50
mov ecx, edi
call fcn.731c7df0
mov dword [ebp - 0x3f8], 0xb
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xe40000
mov dword [ebp - 0xe4], eax
jmp dword [ebx*4 + 0x731d2960]
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.731c7700
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x53c]
push eax
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.731c7b10
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
lea eax, [ebp - 0x64c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.731c7b10
jmp 0x731d2611
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x55c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.731c7700
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x56c]
push eax
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.731c7b10
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.731c7730
push eax
push ebx
lea eax, [ebp - 0x58c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.731c75d0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.731c7ba0
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
lea eax, [ebp - 0x59c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.731c7b10
jmp 0x731d2611
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x5ac]
push eax
lea ecx, [ebp - 0xf0]
call fcn.731c7700
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x5bc]
push eax
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.731c7b10
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x5cc]
push eax
lea ecx, [ebp - 0xf0]
call fcn.731c7730
push eax
push ebx
lea eax, [ebp - 0x5dc]
push eax
lea ecx, [ebp - 0x10c]
call fcn.731c75d0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.731c7ba0
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x5ec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.731c7760
push eax
push ebx
lea eax, [ebp - 0x5fc]
push eax
lea ecx, [ebp - 0x10c]
call fcn.731c75d0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.731c7ba0
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.731c7b10
jmp 0x731d2611
xor edi, edi
dec ebx
xor eax, eax
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x1a0], eax
mov eax, 0xe40000
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x194]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x4dc]
call fcn.731c7860
mov ecx, eax
call fcn.731c7970
lea eax, [ebp - 0x170]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x4d0]
call fcn.731c7860
mov ecx, eax
call fcn.731c7940
test dword [ebp - 0xac], 0x100
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x154], eax
je 0x731d286e
cmp byte [esi + 0x5130], 0
je 0x731d27af
test edi, edi
je 0x731d276c
cmp ebx, 3
je 0x731d27a5
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x170]
call fcn.731c7670
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.731c7a80
push ebx
lea eax, [ebp - 0x6ac]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.731c77f0
push eax
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x170]
call fcn.731c7640
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.731c7a80
mov eax, dword [ebp - 0x194]
mov ebx, 3
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x154], eax
jmp 0x731d286e
push ebx
lea eax, [ebp - 0x6cc]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.731c77f0
push eax
lea eax, [ebp - 0x6dc]
push eax
lea eax, [ebp - 0x6ec]
push eax
call fcn.731c76d0
mov ecx, eax
call fcn.731c7640
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.731c7a80
mov ebx, 3
jmp 0x731d286e
push 0
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.731c7860
lea eax, [ebp - 0x4b4]
push eax
call fcn.731c7940
push ebx
lea eax, [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.731c77f0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x4b4]
push eax
push 6
call fcn.731c7a80
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0xd4]
call fcn.731c7970
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0x71c]
push eax
lea ecx, [ebp - 0x160]
call fcn.731c76d0
mov ecx, eax
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.731c7b10
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x154], eax
mov edi, dword [ebp - 0x180]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebx + 1]
mov edx, edi
push eax
lea eax, [ebp - 0x72c]
push eax
lea ecx, [ebp - 0x73c]
call fcn.731c7f50
mov ecx, eax
call fcn.731c75d0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.731c7a80
cmp ebx, 3
ja case.0x731d28aa.1
jmp dword [ebx*4 + 0x731d2970]
mov ecx, dword [ebp - 0xe0]
mov eax, 3
mov edx, dword [ebp - 0xdc]
shl eax, cl
or edx, eax
mov dword [ebp - 0xdc], edx
jmp 0x731d2908
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
bts edx, eax
mov dword [ebp - 0xdc], edx
jmp 0x731d290e
mov ecx, dword [ebp - 0xe0]
mov eax, 2
mov edx, dword [ebp - 0xdc]
shl eax, cl
or edx, eax
mov dword [ebp - 0xdc], edx
jmp 0x731d2908
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
add dword [ebp - 0x17c], 0x40
add eax, 2
mov dword [ebp - 0xe0], eax
inc edi
mov eax, dword [ebp - 0x204]
rol eax, 1
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x204], eax
cmp edi, dword [ebp - 0x150]
jb 0x731d1336
mov dword [esi + 0x14], edx
mov ecx, dword [esi + 0x1c]
call fcn.731c7d30
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, dword [eax]
xor ecx, ebp
pop ebx
call fcn.731efbf0
mov esp, ebp
pop ebp
ret