Function at 0x1007c620
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x754
mov eax, dword [0x100a60a4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x3e8], esi
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 0x1007c6d8
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x120], 1
mov word [ebp - 0x318], dx
mov word [ebp - 0x316], ax
cmp byte [esi + 0x5131], al
je 0x1007c723
cmp dword [esi + 0x5158], eax
jne 0x1007c723
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 0x1007c742
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, 0x100a70c4
mov dword [edx + 8], eax
inc dword [edx + 4]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x128], ecx
lea edx, [edi + 1]
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x1007c760
mov eax, dword [ebp - 0x128]
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 - 0x128]
push ebx
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.10076e40
mov edx, dword [ebp - 0x128]
push edi
push 0x100a70c4
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 - 0x128]
lea eax, [ebx - 1]
add esp, 0xc
add dword [ecx + 4], eax
mov ecx, dword [esi + 4]
mov edi, ecx
shr edi, 0x12
mov ebx, ecx
and edi, 1
shr ebx, 2
mov eax, edi
mov dword [ebp - 0x174], ecx
shl eax, 6
and ebx, 1
add eax, 4
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0xc8], eax
test ecx, 0x80000
je 0x1007c81d
or eax, 0x80
mov dword [ebp - 0xc8], eax
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x1007c82f
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.10076970
test byte [esi + 0x18], 2
je 0x1007c8af
test ebx, ebx
je 0x1007c8af
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x1007c85a
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.10076970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007c881
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x160], 1
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xe40000
mov word [ebp - 0x154], dx
mov word [ebp - 0x152], ax
mov eax, dword [esi + 4]
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x1dc], 0
test eax, 0x800000
je 0x1007c937
test al, 2
je 0x1007c8fc
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
jne 0x1007c8e5
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.10076970
mov dword [ebp - 0x2d4], 1
test byte [esi + 0x18], 2
je 0x1007c937
test ebx, ebx
je 0x1007c937
test byte [esi + 4], 8
je 0x1007c937
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x20]
cmp eax, 0xffffffff
jne 0x1007c920
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.10076970
mov dword [ebp - 0x1dc], 1
test edi, edi
je 0x1007ca4f
test byte [esi + 4], 0x10
je 0x1007c9d5
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffffff
jne 0x1007c95d
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.10076970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007c984
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x14], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor ecx, ecx
mov word [ebp - 0xcc], dx
mov eax, 1
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0xd4], ecx
mov ecx, 0xe40000
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0xd8], eax
xor eax, eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0xd0], ecx
mov word [ebp - 0xca], ax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x194], ecx
jmp 0x1007ca7f
xor eax, eax
mov dword [ebp - 0xc0], 2
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x98]
push 3
push eax
mov dword [ebp - 0xb8], 0xe40000
call fcn.10076760
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0xcc], ecx
jmp 0x1007ca79
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x1e0], eax
test dword [ebp - 0x174], 0x80000
je 0x1007cba4
test byte [esi + 4], 0x20
je 0x1007cb25
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
cmp eax, 0xffffffff
jne 0x1007caad
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.10076970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007cad4
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x18], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ebx, 1
mov word [ebp - 0xf0], dx
mov eax, 0xe40000
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0xfc], ebx
xor ebx, ebx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0xf4], eax
xor eax, eax
mov word [ebp - 0xee], ax
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x150], ecx
jmp 0x1007cbd4
xor eax, eax
mov dword [ebp - 0xc0], 2
push eax
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xb8], 0xe40000
call fcn.10076760
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x128], edx
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0xf0], ecx
jmp 0x1007cbd4
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x128], eax
test byte [esi + 8], 0x20
je 0x1007ccbb
test byte [esi + 4], 0x40
je 0x1007cc4f
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
cmp eax, 0xffffffff
jne 0x1007cbf8
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.10076970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007cc1f
mov eax, dword [ecx + 0x44]
mov dword [ecx + 8], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov word [ebp - 0x1b4], dx
mov word [ebp - 0x1b2], ax
jmp 0x1007ccbb
push 2
lea eax, [ebp - 0x98]
mov dword [ebp - 0xc0], 2
push eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xb4], 0x62
mov dword [ebp - 0xb8], 0xe40000
mov dword [ebp - 0xbc], 0
call fcn.10076760
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1b4], eax
test byte [esi + 0x18], 4
je 0x1007ce8d
test byte [esi + 4], 0x80
je 0x1007cd33
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
cmp eax, 0xffffffff
jne 0x1007ccdf
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.10076970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
movzx edx, ax
mov dword [ebp - 0xac], edx
cmp eax, 0xffffffff
jne 0x1007cd12
mov eax, dword [ecx + 0x44]
movzx edx, ax
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x44]
mov dword [ebp - 0xac], edx
mov eax, 1
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x198], 0
jmp 0x1007cdb2
xor eax, eax
mov dword [ebp - 0xc0], 2
push eax
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xb8], 0xe40000
call fcn.10076760
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x13c], eax
mov ax, word [ebp - 0x13a]
movzx edx, word [ebp - 0x13c]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0xac], edx
mov eax, dword [esi + 4]
test eax, 0x4000000
je 0x1007ce5b
test eax, 0x10000
je 0x1007ce2e
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
cmp eax, 0xffffffff
jne 0x1007cddb
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.10076970
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007ce02
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x10], eax
inc dword [ecx + 0x44]
movzx edx, ax
movzx edi, dx
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x190], edi
mov dword [ebp - 0xc4], 0
jmp 0x1007ceef
mov dword [ebp - 0xb0], 2
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x190], 2
mov dword [ebp - 0xc4], 0
jmp 0x1007ceef
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xb0], edi
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x190], edi
jmp 0x1007ceef
mov ax, word [ebp - 0x13a]
mov dx, word [ebp - 0x13c]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x190], eax
mov eax, 1
lea ebx, [ebp - 0x88]
mov ecx, 0x24
mov dword [ebp - 0x188], eax
mov edx, 5
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x118], edx
test byte [esi + 5], al
je 0x1007cffe
mov edx, dword [esi + 0x28]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x124], eax
cmp eax, 0xffffffff
jne 0x1007cf42
mov eax, dword [edx + 0x44]
mov dword [edx + ecx], eax
inc dword [edx + 0x44]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x124], 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 - 0x118]
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 - 0x124]
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007cfb2
inc dword [edi + 0x14]
mov ecx, dword [ebp - 0x18c]
mov byte [edi + 0x18], 1
mov edx, dword [esi + 0x28]
mov eax, dword [edx + ecx]
movzx edi, ax
cmp eax, 0xffffffff
jne 0x1007cfd7
mov eax, dword [edx + 0x44]
mov dword [edx + ecx], eax
inc dword [edx + 0x44]
movzx edi, word [edx + ecx]
mov edx, dword [ebp - 0x118]
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 0x1007d00f
xor eax, eax
mov dword [ebx], 2
mov dword [ebp - 0x1a4], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0xe40000
add ecx, 4
mov dword [ebx + 0xc], eax
add edx, 0x10000
mov eax, dword [ebp - 0x188]
add ebx, 0x10
rol eax, 1
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x188], eax
cmp ecx, 0x44
jb 0x1007cf16
cmp dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x1e4], eax
je 0x1007d2b7
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 0x1007d0d3
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 - 0xb2], ax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xc0], 1
push eax
push 1
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xb8], 0xe40000
mov dword [ebp - 0xbc], 0
call fcn.100769f0
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x12c], 2
mov dword [ebp - 0x130], 0xe40000
mov eax, dword [ecx]
mov dword [ebp - 0x134], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007d159
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 - 0xb2], ax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x138]
mov dword [ebp - 0xc0], 1
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0xb4], dx
push eax
push 2
mov dword [ebp - 0xb8], 0xe40000
mov dword [ebp - 0xbc], 0x1000000
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0x70000
call fcn.10076a80
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x12c], 2
mov dword [ebp - 0x130], 0xe40000
mov eax, dword [ecx]
mov dword [ebp - 0x134], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007d206
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0xc0], 1
mov word [ebp - 0xb2], ax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x138]
mov word [ebp - 0xb4], dx
push eax
lea eax, [ebp - 0x148]
mov dword [ebp - 0xb8], 0xe40000
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x148], 2
mov dword [ebp - 0x13c], 9
mov dword [ebp - 0x140], 0xff0000
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0x70000
call fcn.10076b10
xor ebx, ebx
mov dword [ebp - 0x8c], 2
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x120], ebx
jmp 0x1007d2c2
mov edi, dword [ebp - 0x318]
mov ebx, 1
cmp dword [ebp - 0x1dc], 0
mov dword [ebp - 0x188], edi
je 0x1007d529
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 0x1007d317
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 - 0xb2], ax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xc0], 1
push eax
push 1
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xb8], 0xe40000
mov dword [ebp - 0xbc], 0
call fcn.100769f0
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x12c], 3
mov dword [ebp - 0x130], 0xe40000
mov eax, dword [ecx + 4]
mov dword [ebp - 0x134], 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 0x1007d3c7
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 - 0xb2], ax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x138]
mov dword [ebp - 0xc0], 1
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0xb4], dx
push eax
push 2
mov dword [ebp - 0xb8], 0xe40000
mov dword [ebp - 0xbc], 0x1000000
call fcn.10076a80
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x12c], 3
mov dword [ebp - 0x130], 0xe40000
mov eax, dword [ecx + 4]
mov dword [ebp - 0x134], 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 0x1007d47e
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0xc0], 1
mov word [ebp - 0xb2], ax
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x138]
mov word [ebp - 0xb4], dx
push eax
lea eax, [ebp - 0x148]
mov dword [ebp - 0xb8], 0xe40000
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x148], 2
mov dword [ebp - 0x13c], 9
mov dword [ebp - 0x140], 0xff0000
call fcn.10076b10
mov dword [ebp - 0x8c], 3
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xe40000
mov dword [ebp - 0x154], eax
mov eax, dword [esi + 0x18]
test al, 4
je 0x1007e6a6
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x1c]
shr eax, 0x12
and eax, 3
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x18c], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xc0]
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 - 0xc0], 2
mov dword [ebp - 0xb8], 0xff0000
call fcn.100769f0
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xc0]
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 - 0xc0], 2
call fcn.100769f0
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007d682
xor eax, eax
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xbc], 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 - 0xc0], 2
mov dword [ebp - 0xb8], 0xe40000
call fcn.10076760
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100769f0
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007d6e8
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xc0]
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 - 0xc0], 2
mov dword [ebp - 0xb8], 0xe40000
call fcn.100769f0
xor ebx, ebx
lea ebx, [ebx]
mov edi, dword [ebp - 0x19c]
mov eax, ebx
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x198]
mov dword [ebp - 0xec], edx
mov word [ebp - 0xe0], cx
mov word [ebp - 0xde], di
sub eax, 1
je 0x1007d745
sub eax, 1
je 0x1007d73e
sub eax, 1
je 0x1007d737
xor eax, eax
jmp 0x1007d74a
mov eax, 0xff0000
jmp 0x1007d74a
mov eax, 0xaa0000
jmp 0x1007d74a
mov eax, 0x550000
mov dword [ebp - 0xe4], eax
cmp ebx, dword [ebp - 0x18c]
jne 0x1007d791
mov dword [ebp - 0x8c], 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], eax
jmp 0x1007d855
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xe0]
shr eax, 0x10
mov word [ebp - 0x12a], ax
mov eax, dword [edi]
mov word [ebp - 0x12c], cx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb4], 8
mov dword [ebp - 0xb8], 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 - 0xbc], 0
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], 0x1000000
mov dword [eax + ecx*4], 0x80010008
lea eax, [ebp - 0xc0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x138]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007d851
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
test dword [esi + 4], 0x4000000
je 0x1007e169
mov eax, ebx
sub eax, 1
je 0x1007d8c9
sub eax, 1
je 0x1007d8bd
sub eax, 1
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x190]
mov word [ebp - 0x1c4], ax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x1c2], ax
je 0x1007d8b1
mov dword [ebp - 0x1c8], 0
jmp 0x1007d905
mov dword [ebp - 0x1c8], 0xff0000
jmp 0x1007d905
mov dword [ebp - 0x1c8], 0xaa0000
jmp 0x1007d8d3
mov dword [ebp - 0x1c8], 0x550000
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x190]
mov word [ebp - 0x1c4], ax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x1c2], ax
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 - 0x1d0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007d962
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x13c], 0xa
lea eax, [ecx + 0x14]
mov dword [ebp - 0x140], 0x550000
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x144], 0
push eax
call fcn.100778f0
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 - 0x148]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x170]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007da0e
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1f4], 0xa
lea eax, [ecx + 0x1c]
mov dword [ebp - 0x1f8], 0x550000
push eax
lea eax, [ebp - 0x428]
mov dword [ebp - 0x1fc], 0
push eax
call fcn.100778f0
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 - 0x200]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x428]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007daba
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x178], 0xa
mov dword [ebp - 0x17c], 0x550000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x180], 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 - 0x184]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007db43
inc dword [edi + 0x14]
sub esp, 0x10
mov dword [ebp - 0x1a4], 6
mov eax, dword [ebp - 0x1a4]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x318], 0x10000
mov byte [edi + 0x18], 1
mov dword [ebp - 0x280], 2
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 - 0x318]
sub esp, 0x10
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xe40000
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 - 0x120]
sub esp, 0x10
mov dword [ebp - 0x274], 0x10004
mov dword [eax], ecx
mov ecx, dword [ebp - 0x188]
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], 0xc
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007b1f0
sub esp, 0x10
mov dword [ebp - 0x3a8], 6
mov eax, dword [ebp - 0x3a8]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x398], 0x12
mov dword [ebp - 0x388], 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 - 0x398]
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 - 0x388]
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.1007b1f0
sub esp, 0x10
mov dword [ebp - 0x378], 6
mov eax, dword [ebp - 0x378]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x3c8], 0x1a
mov dword [ebp - 0x368], 0xa
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 - 0x3c8]
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 - 0x368]
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.1007b1f0
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 - 0x18c]
jne 0x1007de0b
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x334]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x204], 7
mov dword [ebp - 0x208], 0xe40000
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x328], 9
mov dword [ebp - 0x32c], 0xe40000
mov dword [ebp - 0x330], 0
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x210]
jmp 0x1007de87
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x220]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x224], 7
mov dword [ebp - 0x228], 0xe40000
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x214], 9
mov dword [ebp - 0x218], 0xe40000
mov dword [ebp - 0x21c], 0
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x230]
push eax
mov ecx, edi
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007deb7
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007df88
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x240], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x23c], eax
mov eax, dword [edi]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x248], 0xe40000
mov dword [ebp - 0x234], 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 - 0x238], 0xe40000
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x240]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x250]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007df81
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007e694
cmp dword [ebp - 0x114], 0
je 0x1007e694
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x260], 2
mov dword [ebp - 0x254], 0x16
mov dword [ebp - 0x258], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x25c], 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 - 0x160]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x260]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e030
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x264], 6
mov dword [ebp - 0x268], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x26c], 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 - 0x270]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x280]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e0c7
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x294], 1
mov dword [ebp - 0x298], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x284], 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 - 0x288], 0xe40000
mov dword [ebp - 0x28c], 0
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x290]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x2a0]
jmp 0x1007e660
test ebx, ebx
jne 0x1007e172
lea eax, [ebx + 0xa]
jmp 0x1007e17f
mov eax, ebx
shl eax, 6
add eax, 0x460
shr eax, 4
mov word [ebp - 0x338], ax
xor eax, eax
mov word [ebp - 0x336], ax
test ebx, ebx
jne 0x1007e198
lea eax, [ebx + 0xe]
jmp 0x1007e1a5
mov eax, ebx
shl eax, 6
add eax, 0x520
shr eax, 4
mov word [ebp - 0x2f8], ax
xor eax, eax
mov dword [ebp - 0x304], 2
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0xe40000
mov word [ebp - 0x2f6], ax
test ebx, ebx
jne 0x1007e1dc
lea eax, [ebx + 3]
jmp 0x1007e1e9
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 - 0x358], 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 - 0x358]
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 - 0x120]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x188]
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.1007b1f0
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 - 0x18c]
jne 0x1007e32d
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x2b0]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2b4], 7
mov dword [ebp - 0x2b8], 0xe40000
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2a4], 9
mov dword [ebp - 0x2a8], 0xe40000
mov dword [ebp - 0x2ac], 0
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x2c0]
jmp 0x1007e3a9
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x2d0]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x308], 7
mov dword [ebp - 0x30c], 0xe40000
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c4], 9
mov dword [ebp - 0x2c8], 0xe40000
mov dword [ebp - 0x2cc], 0
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x314]
push eax
mov ecx, edi
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e3d9
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007e543
sub esp, 0x10
mov dword [ebp - 0x3b8], 6
mov eax, dword [ebp - 0x3b8]
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 - 0x338]
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 - 0x120]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x188]
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.1007b1f0
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2e4], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [edi]
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2ec], 0xe40000
mov dword [ebp - 0x2d8], 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 - 0x2dc], 0xe40000
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x2e4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x2f4]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e53c
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007e694
cmp dword [ebp - 0x114], 0
je 0x1007e694
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 - 0x160]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x304]
mov ecx, edi
push eax
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e5c3
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 - 0x110], 0
mov dword [ebp - 0x104], 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 - 0x108], 0xe40000
mov dword [ebp - 0x10c], 0
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x110]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0xa8]
push eax
mov ecx, edi
call fcn.10076cc0
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e690
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
inc ebx
cmp ebx, dword [ebp - 0x18c]
jbe 0x1007d6f0
jmp 0x1007e874
test al, 1
je 0x1007e75a
mov ecx, dword [esi + 0x24]
xor eax, eax
mov dword [ebp - 0x1a4], eax
push 0x40
lea eax, [ecx + 0xa0]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.100778f0
mov eax, dword [ebp - 0x1a4]
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
sub esp, 0x10
mov ecx, esi
mov dword [eax], ebx
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.1007b1f0
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007e7c6
cmp dword [ebp - 0x114], 0
je 0x1007e7c6
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.100778f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x98]
push eax
push 0x17
call fcn.10076a80
mov ecx, dword [esi + 0x24]
push 0x40
mov dword [ebp - 0x1a4], 0xb
lea eax, [ecx + 0x30]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.100778f0
mov eax, dword [ebp - 0x1a4]
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 - 0x120]
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], 4
mov dword [eax + 4], 0
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007b1f0
test byte [esi + 0x18], 2
je 0x1007e965
cmp dword [ebp - 0x114], 0
je 0x1007e965
cmp dword [esi + 4], 0
jge 0x1007e965
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.100769f0
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.100769f0
test dword [esi + 4], 0x1000000
je 0x1007f3fd
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x660]
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.100778f0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x670]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.100778f0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x640]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.100778f0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x650]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.100778f0
mov edx, dword [esi + 4]
test edx, 0x40000000
je 0x1007ebd5
mov ecx, dword [esi + 8]
test dl, 0x10
je 0x1007eae9
mov eax, ecx
and eax, 0xc00
cmp eax, 0x400
jne 0x1007ea2d
mov edx, dword [ebp - 0x1e0]
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xcc], eax
jmp 0x1007ea63
mov edi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edi
mov edi, dword [ebp - 0x1d4]
mov dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x1e0]
mov eax, ecx
and eax, 0x3000
cmp eax, 0x1000
jne 0x1007ea8f
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x178], eax
mov eax, ecx
and eax, 0xc000
cmp eax, 0x4000
jne 0x1007eabb
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe0], eax
mov eax, ecx
and eax, 0x30000
cmp eax, 0x10000
jne 0x1007eb0d
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], eax
jmp 0x1007eb0d
mov edi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb0], edx
test byte [esi + 4], 0x20
je 0x1007ebf9
mov edi, dword [ebp - 0x128]
mov eax, ecx
mov edx, dword [ebp - 0x14c]
and eax, 0xc00
mov ebx, dword [ebp - 0x150]
cmp eax, 0x800
jne 0x1007eb55
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xcc], ebx
mov eax, ecx
and eax, 0x3000
cmp eax, 0x2000
jne 0x1007eb81
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x178], ebx
mov eax, ecx
and eax, 0xc000
cmp eax, 0x8000
mov eax, dword [ebp - 0xdc]
jne 0x1007ebad
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], ebx
and ecx, 0x30000
cmp ecx, 0x20000
jne 0x1007ebf9
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], ebx
jmp 0x1007ebf9
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb0], eax
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0x104], 0xa
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xe40000
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xa
mov dword [ebp - 0x140], 0x70000
mov dword [ebp - 0x13c], 0
cmp eax, 2
je 0x1007ecb0
cmp edi, 2
je 0x1007ecb0
cmp edi, 1
jne 0x1007ec74
cmp eax, edi
je 0x1007ecb0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.100778f0
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x148]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10076b10
jmp 0x1007ed1b
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x148]
push eax
push 1
call fcn.100769f0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.100778f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x148]
push eax
push 5
call fcn.10076a80
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x148]
push eax
push 2
call fcn.10076a80
test dword [esi + 4], 0x20000000
je 0x1007edcb
test dword [ebp - 0x174], 0x80000
je 0x1007edcb
xor ecx, ecx
mov dword [ebp - 0x8c], 0xb
mov eax, 0xe40000
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x14c], eax
xor edx, edx
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x8c]
push 4
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x170]
push ecx
push eax
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x94], 0xb
mov dword [ebp - 0x90], 0x70000
call fcn.100778f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100769f0
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x24]
shr ebx, 3
and bl, 1
mov cl, bl
xor cl, 1
mov byte [eax + 0xfa94], cl
test byte [esi + 8], 1
je 0x1007ef5e
test bl, bl
jne 0x1007ee21
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.10076c20
mov ecx, dword [ebp - 0x124]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a4], eax
mov eax, esp
mov dword [ebp - 0x8c], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x118]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x104]
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 - 0xe8]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xb0]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
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
push dword [ebp - 0x114]
mov eax, dword [ebp - 0x1a4]
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.1007b330
test bl, bl
jne 0x1007ef5e
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], bl
je 0x1007ef5a
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
test byte [esi + 8], 2
je 0x1007f0e6
test bl, bl
jne 0x1007efa3
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.10076c20
mov ecx, dword [ebp - 0x124]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a4], eax
mov eax, esp
mov edi, dword [ebp - 0xec]
sub esp, 0x10
mov dword [ebp - 0x8c], 1
mov dword [eax], ecx
mov ecx, dword [ebp - 0x118]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x104]
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 - 0xe8]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xb0]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
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
push dword [ebp - 0x114]
mov eax, dword [ebp - 0x1a4]
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.1007b330
test bl, bl
jne 0x1007f0ec
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], bl
je 0x1007f0e2
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xec]
test byte [esi + 8], 4
je 0x1007f26e
test bl, bl
jne 0x1007f131
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.10076c20
mov ecx, dword [ebp - 0x124]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a4], eax
mov eax, esp
mov dword [ebp - 0x8c], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x118]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x104]
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 - 0xe8]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xb0]
sub esp, 0x10
mov edi, dword [ebp - 0xcc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc4]
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
push dword [ebp - 0x114]
mov eax, dword [ebp - 0x1a4]
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.1007b330
test bl, bl
jne 0x1007f274
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.10076e40
inc dword [edi + 0x10]
cmp byte [edi + 0x18], bl
je 0x1007f26a
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xcc]
cmp dword [ebp - 0x11c], 0
je 0x1007f338
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x138]
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.100769f0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xa4], eax
mov ax, word [ebp - 0xca]
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.100769f0
test dword [ebp - 0x174], 0x80000
je 0x1007f492
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 0x1007f3e8
lea eax, [ebp - 0x184]
mov dword [ebp - 0x90], 0x70000
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10076a80
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebp - 0x178]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0xa4], eax
movzx eax, word [ebp - 0x176]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], 0xff0000
mov dword [ebp - 0x90], 0x80000
jmp 0x1007f462
mov dword [ebp - 0x90], 0xf0000
lea eax, [ebp - 0xfc]
jmp 0x1007f483
cmp dword [ebp - 0x11c], 0
je 0x1007f446
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xd8]
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.100769f0
test dword [ebp - 0x174], 0x80000
je 0x1007f492
mov dword [ebp - 0x90], 0xf0000
lea eax, [ebp - 0xfc]
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.100769f0
mov edx, dword [esi + 4]
mov eax, edx
mov edi, dword [ebp - 0xc8]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1007f7ab
mov ebx, dword [esi + 8]
or edi, 0x2000
shr ebx, 0x14
mov dword [ebp - 0xc8], edi
and ebx, 3
je 0x1007ffe5
push 0
push 0xb
lea ecx, [ebp - 0xf8]
call fcn.100767d0
mov edi, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x94], edi
test edx, 0x10000000
je 0x1007f639
xor eax, eax
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x108], 0xe40000
push eax
lea eax, [ebp - 0x98]
push eax
push 8
call fcn.10076a80
mov eax, dword [ebp - 0xf0]
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 - 0xf4]
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.100769f0
mov eax, dword [ebp - 0xf0]
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 - 0xf4]
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 0x1007f677
mov eax, dword [ebp - 0xf4]
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.100769f0
sub ebx, 1
je 0x1007fe6c
sub ebx, 1
je 0x1007fd4f
sub ebx, 1
jne 0x1007f7a5
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
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 - 0xf0]
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.100778f0
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.10076a80
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.100778f0
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.10076a80
mov edi, dword [ebp - 0xc8]
mov eax, dword [esi + 8]
test al, 0x20
je 0x10080371
test dword [esi + 4], 0x100000
je 0x10080371
or edi, 0x20
mov dword [ebp - 0xc8], edi
test al, 0x10
je 0x10080331
push 0
push 0xb
lea ecx, [ebp - 0xd4]
call fcn.100767d0
mov edi, dword [ebp - 0xd4]
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x94], edi
mov edi, dword [ebp - 0xd0]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 8
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0x108], 0xe40000
mov dword [ebp - 0x90], edi
call fcn.10076a80
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov ebx, dword [ebp - 0xcc]
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.100769f0
mov eax, dword [ebp - 0xd4]
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.100769f0
push 0
push 0xa
lea ecx, [ebp - 0xf8]
call fcn.100767d0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xf4]
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.100778f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100769f0
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xa0], ecx
xor ecx, ecx
mov word [ebp - 0x9a], cx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], ecx
mov word [ebp - 0x102], 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 - 0xf4]
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 - 0x104], di
mov dword [ebp - 0x108], ebx
call fcn.100778f0
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10076b10
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov word [ebp - 0x102], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
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 - 0xf0]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0xf8]
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x104], bx
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.100778f0
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10076b10
cmp byte [esi + 0x5131], 0
mov edx, dword [esi + 0x24]
je 0x10080068
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.100778f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
push 6
call fcn.10076bb0
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x620]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.100778f0
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.100769f0
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.10076d60
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
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.100769f0
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
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.100778f0
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.10076a80
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 - 0x1c0]
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.10076a80
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.10076d60
jmp 0x10080371
mov ebx, dword [ebp - 0xf0]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x510]
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.10077430
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10076a80
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov word [ebp - 0x102], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
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 - 0x104], di
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.10076a80
xor eax, eax
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x520]
jmp 0x1007fef9
mov ebx, dword [ebp - 0xf0]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x530]
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.10077430
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10076a80
xor eax, eax
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x540]
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.100773f0
mov ecx, dword [esi + 0x1c]
add esp, 4
push eax
lea eax, [ebp - 0x98]
push eax
push 0x20
call fcn.10076a80
push 0
push 0xa
lea ecx, [ebp - 0xe8]
call fcn.100767d0
mov ax, word [ebp - 0xe8]
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xe0]
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.100769f0
jmp 0x1007f7a5
mov eax, dword [ebp - 0x128]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebp - 0xf0]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xa4], eax
movzx eax, word [ebp - 0xee]
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.100769f0
jmp 0x1007f7ab
push 2
push 0xa
lea ecx, [ebp - 0xe8]
call fcn.100767d0
push 1
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.100767d0
xor eax, eax
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0xd4]
mov ecx, edx
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd0]
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.100778f0
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.10076a80
mov eax, dword [ebp - 0xcc]
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 - 0xe4]
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 - 0xe8]
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.100778f0
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.10076a80
mov ecx, dword [ebp - 0xf0]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xf4]
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.100769f0
mov eax, dword [ebp - 0xf0]
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 - 0xf4]
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.100778f0
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.10076a80
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x108], eax
xor eax, eax
mov word [ebp - 0x102], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x1c0]
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 - 0x104], bx
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
call fcn.10076b10
jmp 0x10080371
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x1c0]
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.100769f0
mov ecx, dword [esi + 8]
xor edi, edi
mov ebx, dword [ebp - 0xc8]
shr ecx, 6
and ecx, 0xf
mov dword [ebp - 0x174], edi
mov eax, ecx
mov dword [ebp - 0x1dc], ecx
shl eax, 8
or ebx, eax
mov dword [ebp - 0xc8], ebx
test ecx, ecx
je 0x10081aa4
mov dword [ebp - 0x124], 1
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x178], 0xa
mov dword [ebp - 0x17c], 0xe40000
mov dword [ebp - 0x180], edi
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0xf8], 0xa
mov dword [ebp - 0xf4], 0xf0000
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xb0], 0x10
mov dword [ebp - 0x118], 0x1e0
push edi
mov ecx, esi
call fcn.10077200
mov ebx, eax
cmp ebx, 0x30000
ja 0x100809eb
je 0x10080504
cmp ebx, 0x10000
je 0x10080443
cmp ebx, 0x20000
jne 0x100809f3
xor eax, eax
mov dword [ebp - 0x42c], eax
mov edx, eax
lea ebx, [eax + 2]
jmp 0x10081184
xor ecx, ecx
mov dword [ebp - 0x43c], 1
mov edx, dword [ebp - 0x43c]
xor edi, edi
mov eax, 0xe40000
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0x114], ecx
jne 0x100804fa
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x478]
push 4
push ecx
push eax
call fcn.100778f0
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 - 0x478]
inc dword [edi + 4]
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xac]
mov ebx, 2
jmp 0x100811b7
test dword [esi + 4], 0x2000000
je 0x100807c8
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.10076cc0
mov ecx, edi
call fcn.10076d60
cmp dword [ebp - 0x114], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x10080776
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 - 0x304], 0
mov dword [ebp - 0x2f8], 0xa
mov dword [ebp - 0x2fc], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x110]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x104], 1
mov dword [ebp - 0x108], 0xe40000
mov dword [ebp - 0x10c], 0
call fcn.10076cc0
lea eax, [ebp - 0x304]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2d8], 9
mov dword [ebp - 0x2dc], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2e8], 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 - 0x2ec], 0
mov dword [ebp - 0x2f0], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x2f4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x2e4]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2b4], 0xa
mov dword [ebp - 0x2b8], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c4], 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 - 0x2c8], 0xe40000
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x314], 0
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x314]
inc dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x308], 9
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x310], 0x1000000
push eax
call fcn.10076cc0
lea eax, [ebp - 0x2d0]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x2c0]
jmp 0x100809c2
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 - 0x2b0], 0
mov dword [ebp - 0x2a4], 0xa
mov dword [ebp - 0x2a8], 0xe40000
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2b0]
inc dword [edi + 4]
mov dword [ebp - 0x2ac], 0
jmp 0x100809c2
cmp dword [ebp - 0x114], 0
je 0x100808fc
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x284], 1
mov dword [ebp - 0x288], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x294], 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 - 0x298], 0xaa0000
mov dword [ebp - 0x29c], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x2a0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x290]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x268], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x274], 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 - 0x278], 0
mov dword [ebp - 0x27c], 0x1000000
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x280]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x270]
jmp 0x1008093b
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x488]
push 4
push ecx
push eax
call fcn.100778f0
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 - 0x488]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x254], 0xb
lea eax, [ecx + 0xc]
mov dword [ebp - 0x258], 0xe40000
push eax
lea eax, [ebp - 0x498]
mov dword [ebp - 0x25c], 0
push eax
call fcn.100778f0
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 - 0x260]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x498]
push eax
mov ecx, edi
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov dword [ebp - 0x44c], 0xb
mov ebx, 2
mov edx, dword [ebp - 0x44c]
jmp 0x10081184
cmp ebx, 0x40000
je 0x10080a2f
and ebx, 7
mov eax, ebx
add eax, eax
movzx ebx, byte [esi + ebx + 0xc]
shr ebx, 6
mov edx, dword [ebp + eax*8 - 0x80]
mov edi, dword [ebp + eax*8 - 0x88]
mov ecx, dword [ebp + eax*8 - 0x84]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp + eax*8 - 0x7c]
mov eax, dword [ebp - 0xac]
jmp 0x10081199
test dword [esi + 4], 0x2000000
je 0x10080da8
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x250], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x248], 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 - 0x250]
inc dword [edi + 4]
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
cmp dword [ebp - 0x114], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x10080c9e
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 - 0x230], 0
mov dword [ebp - 0x224], 0xa
mov dword [ebp - 0x228], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x240]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x234], 1
mov dword [ebp - 0x238], 0xe40000
mov dword [ebp - 0x23c], 0
call fcn.10076cc0
lea eax, [ebp - 0x230]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x204], 9
mov dword [ebp - 0x208], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x214], 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 - 0x218], 0
mov dword [ebp - 0x21c], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x220]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x210]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3ec], 0xa
mov dword [ebp - 0x3f0], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x40c], 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 - 0x410], 0xe40000
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x334], 0
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x334]
inc dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x328], 9
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x330], 0x1000000
push eax
call fcn.10076cc0
lea eax, [ebp - 0x418]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x3f8]
jmp 0x10080ceb
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 - 0x408], 0
mov dword [ebp - 0x3fc], 0xa
mov dword [ebp - 0x400], 0xe40000
mov dword [eax + edx*4], 0x80070008
lea eax, [ebp - 0x408]
inc dword [edi + 4]
mov dword [ebp - 0x404], 0
push eax
mov ecx, edi
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0x550]
push eax
call fcn.100bce11
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3c0], 0x1000000
mov dword [ebp - 0x344], 0
mov ecx, dword [eax]
mov dword [ebp - 0x3c4], ecx
mov cx, word [eax + 0xc]
mov word [ebp - 0x3b8], cx
mov ecx, dword [eax + 8]
mov ax, word [eax + 0xe]
mov word [ebp - 0x3b6], ax
mov eax, dword [edi]
mov dword [ebp - 0x3bc], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0x338], 8
mov dword [ebp - 0x33c], 0xaa0000
mov dword [ebp - 0x340], 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 - 0x344]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x3c4]
jmp 0x10080eda
cmp dword [ebp - 0x114], 0
je 0x1008111e
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 - 0x354], 0
mov dword [ebp - 0x348], 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 - 0x34c], 0xaa0000
mov dword [ebp - 0x350], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x354]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x364]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3c8], 1
mov dword [ebp - 0x3cc], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3d0], 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.10076cc0
lea eax, [ebp - 0x3d4]
push eax
mov ecx, edi
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
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 - 0x384], 0
mov dword [ebp - 0x378], 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 - 0x37c], 0xe40000
mov dword [ebp - 0x380], 0
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x384]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x394]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
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.10076cc0
mov ecx, edi
call fcn.10076d60
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3a8], 8
lea eax, [ecx + 0x10]
mov dword [ebp - 0x3ac], 0xaa0000
push eax
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0x3b0], 0
push eax
call fcn.100778f0
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 - 0x3b4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x4a8]
mov ecx, edi
push eax
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1a4], 8
lea eax, [ecx + 0x10]
mov dword [ebp - 0x1a8], 0xaa0000
push eax
lea eax, [ebp - 0x4b8]
mov dword [ebp - 0x1ac], 0
push eax
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x318], 8
mov dword [ebp - 0x31c], 0xe40000
mov dword [ebp - 0x320], 0
call fcn.100778f0
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 - 0x324]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x1b0]
mov ecx, edi
push eax
call fcn.10076cc0
lea eax, [ebp - 0x4b8]
jmp 0x10081160
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x10]
push eax
lea eax, [ebp - 0x4c8]
push eax
call fcn.100778f0
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 - 0x4c8]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
mov dword [ebp - 0x45c], 0xb
mov ebx, 1
mov edx, dword [ebp - 0x45c]
mov eax, 0xe40000
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x1bc], ecx
xor ecx, ecx
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x120], ecx
test byte [esi + 0xb], al
je 0x100811ed
mov ecx, pe_nt_image_headers32
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x174]
movzx eax, byte [esi + eax + 0xc]
shr eax, 4
and eax, 3
sub eax, 1
je 0x10081217
sub eax, 1
je 0x10081212
sub eax, 1
jne 0x10081220
or ecx, 4
jmp 0x1008121a
or ecx, 3
jmp 0x1008121a
or ecx, 2
mov dword [ebp - 0x120], ecx
mov eax, ecx
and eax, 0xfffffeff
mov dword [ebp - 0xc4], eax
je 0x100817ae
mov eax, dword [ebp - 0x118]
xor esi, esi
shr eax, 4
movzx eax, ax
mov ecx, eax
mov word [ebp - 0x1e4], ax
inc eax
mov dword [ebp - 0x1f0], 2
mov word [ebp - 0x1f4], ax
xor eax, eax
mov word [ebp - 0x1f2], ax
lea eax, [ecx + 2]
mov dword [ebp - 0x1e8], 0xe40000
mov word [ebp - 0x12c], ax
xor eax, eax
mov word [ebp - 0x12a], ax
lea eax, [ecx + 3]
mov word [ebp - 0xb4], ax
xor eax, eax
cmp dword [ebp - 0xc4], 4
mov dword [ebp - 0x1ec], 0
mov word [ebp - 0x1e2], si
mov dword [ebp - 0x200], 2
mov dword [ebp - 0x1f8], 0xe40000
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x138], 2
mov dword [ebp - 0x130], 0xe40000
mov dword [ebp - 0x134], esi
mov dword [ebp - 0xc0], 2
mov dword [ebp - 0xb8], 0xe40000
mov dword [ebp - 0xbc], esi
mov word [ebp - 0xb2], ax
jb 0x10081307
mov dword [ebp - 0xc4], 4
mov esi, dword [ebp - 0x3e8]
cmp edi, 2
jne 0x100813e6
mov edi, dword [esi + 0x1c]
mov eax, ebx
mov ecx, dword [edi + 4]
sub eax, 0
je 0x1008137e
sub eax, 1
je 0x1008135e
sub eax, 1
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
je 0x1008134d
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x800f000b
jmp 0x1008139c
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
jmp 0x1008139c
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 0x1008139c
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 - 0xd8]
push eax
mov ecx, edi
call fcn.10076cc0
mov ecx, edi
call fcn.10076d60
xor edi, edi
mov dword [ebp - 0x41c], 0xb
mov edx, dword [ebp - 0x41c]
xor eax, eax
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], 0xe40000
mov dword [ebp - 0xcc], edx
jmp switch.0x100813ec
mov eax, dword [ebp - 0xdc]
jmp dword [ebx*4 + 0x10081ac8]
mov ebx, dword [ebp - 0xc4]
mov dword [ebp - 0x94], eax
mov eax, ebx
mov word [ebp - 0x8c], dx
shr edx, 0x10
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x90], 0
mov word [ebp - 0x8a], dx
sub eax, 2
je 0x10081480
sub eax, 1
je 0x1008146c
sub eax, 1
je 0x1008145b
mov dword [ebp - 0x3e4], 0
mov dword [ebp - 0x3e0], 0xa
mov dword [ebp - 0x3dc], 0x10000
mov dword [ebp - 0x3d8], 0
jmp 0x10081492
push 0xa
push 0
lea ecx, [ebp - 0x3e4]
call fcn.10076510
jmp 0x10081492
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076610
jmp 0x10081492
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0xfc]
call fcn.100765e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x3e4]
push eax
push 5
call fcn.10076a80
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x184]
push eax
push ebx
lea eax, [ebp - 0x650]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076a80
jmp 0x10081774
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x560]
push eax
lea ecx, [ebp - 0xd8]
call fcn.10076670
mov ebx, dword [ebp - 0xc4]
lea ecx, [ebp - 0xfc]
push eax
push ebx
lea eax, [ebp - 0x570]
push eax
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076a80
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x580]
push eax
lea ecx, [ebp - 0xd8]
call fcn.100766a0
push eax
push ebx
lea eax, [ebp - 0x590]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076540
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10076b10
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x184]
push eax
push ebx
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076a80
jmp 0x10081774
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x5b0]
push eax
lea ecx, [ebp - 0xd8]
call fcn.10076670
mov ebx, dword [ebp - 0xc4]
lea ecx, [ebp - 0xfc]
push eax
push ebx
lea eax, [ebp - 0x5c0]
push eax
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076a80
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x5d0]
push eax
lea ecx, [ebp - 0xd8]
call fcn.100766a0
push eax
push ebx
lea eax, [ebp - 0x5e0]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076540
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10076b10
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x5f0]
push eax
lea ecx, [ebp - 0xd8]
call fcn.100766d0
push eax
push ebx
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076540
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10076b10
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x184]
push eax
push ebx
lea eax, [ebp - 0x610]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076a80
jmp 0x10081774
xor edi, edi
dec ebx
xor eax, eax
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x1bc], eax
mov eax, 0xe40000
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x148]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x4f4]
call fcn.100767d0
mov ecx, eax
call fcn.100768e0
lea eax, [ebp - 0x170]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x500]
call fcn.100767d0
mov ecx, eax
call fcn.100768b0
test dword [ebp - 0x120], 0x100
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x154], eax
je 0x100819d1
cmp byte [esi + 0x5130], 0
je 0x10081912
test edi, edi
je 0x100818cf
cmp ebx, 3
je 0x10081908
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x6a0]
push eax
lea ecx, [ebp - 0x170]
call fcn.10076610
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100769f0
push ebx
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10076760
push eax
lea eax, [ebp - 0x6c0]
push eax
lea ecx, [ebp - 0x170]
call fcn.100765b0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100769f0
mov eax, dword [ebp - 0x148]
mov ebx, 3
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
jmp 0x100819d1
push ebx
lea eax, [ebp - 0x6d0]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10076760
push eax
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0x6f0]
push eax
call fcn.10076640
mov ecx, eax
call fcn.100765b0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100769f0
mov ebx, 3
jmp 0x100819d1
push 0
push 0xa
lea ecx, [ebp - 0xe8]
call fcn.100767d0
lea eax, [ebp - 0x4d8]
push eax
call fcn.100768b0
push ebx
lea eax, [ebp - 0x700]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10076760
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x4d8]
push eax
push 6
call fcn.100769f0
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100768e0
lea eax, [ebp - 0x4e8]
push eax
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0x710]
push eax
lea eax, [ebp - 0x720]
push eax
lea ecx, [ebp - 0x160]
call fcn.10076640
mov ecx, eax
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076a80
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov edi, dword [ebp - 0x174]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebx + 1]
mov edx, edi
push eax
lea eax, [ebp - 0x730]
push eax
lea ecx, [ebp - 0x740]
call fcn.10076ee0
mov ecx, eax
call fcn.10076540
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100769f0
cmp ebx, 3
ja case.0x10081a0d.1
jmp dword [ebx*4 + 0x10081ad8]
mov ecx, dword [ebp - 0xb0]
mov eax, 3
mov ebx, dword [ebp - 0xc8]
shl eax, cl
or ebx, eax
mov dword [ebp - 0xc8], ebx
jmp 0x10081a6d
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb0]
bts ecx, eax
mov dword [ebp - 0xc8], ecx
mov ebx, ecx
jmp 0x10081a73
mov ecx, dword [ebp - 0xb0]
mov eax, 2
mov ebx, dword [ebp - 0xc8]
shl eax, cl
or ebx, eax
mov dword [ebp - 0xc8], ebx
jmp 0x10081a6d
mov ebx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x124]
inc edi
add dword [ebp - 0x118], 0x40
add eax, 2
rol edx, 1
mov dword [ebp - 0x174], edi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x124], edx
cmp edi, dword [ebp - 0x1dc]
jb 0x10080401
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 0x1c]
call fcn.10076ca0
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.1009ebb0
mov esp, ebp
pop ebp
ret