Function at 0x512830
Capabilities:
Check for peb ntglobalflag flag
Check os version
Get number of processors
Get process heap flags
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x35
push 0
push 0
dec ecx
jne 0x512838
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov esi, 0x563f10
xor eax, eax
push ebp
push 0x515873
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.00404778
mov dword [esi + 4], 0xffffffff
lea eax, [esi + 0x24]
call fcn.00404778
lea eax, [esi + 0x10]
call fcn.00404778
lea eax, [esi + 0x14]
call fcn.00404778
lea eax, [esi + 0x18]
call fcn.00404778
lea eax, [esi + 0x1c]
call fcn.00404778
lea eax, [esi + 0x20]
call fcn.00404778
lea eax, [esi + 0x28]
call fcn.00404778
lea eax, [esi + 0x2c]
call fcn.00404778
lea eax, [esi + 0x30]
call fcn.00404778
lea eax, [esi + 0x34]
call fcn.00404778
lea eax, [esi + 0x38]
call fcn.00404778
lea eax, [esi + 0x3c]
call fcn.00404778
lea eax, [esi + 0x40]
call fcn.00404778
lea eax, [esi + 0x44]
call fcn.00404778
lea eax, [esi + 0x48]
call fcn.00404778
lea eax, [esi + 0x4c]
call fcn.00404778
lea eax, [esi + 0x50]
call fcn.00404778
lea eax, [esi + 0x54]
call fcn.00404778
lea eax, [esi + 0x58]
call fcn.00404778
lea eax, [esi + 0x5c]
call fcn.00404778
lea eax, [esi + 0x60]
call fcn.00404778
mov dword [esi + 0x64], 1
lea eax, [esi + 0x68]
call fcn.00404778
lea eax, [esi + 0x6c]
call fcn.00404778
lea eax, [esi + 0x70]
call fcn.00404778
lea eax, [esi + 0x74]
call fcn.00404778
lea eax, [esi + 0x78]
call fcn.00404778
lea eax, [esi + 0x7c]
call fcn.00404778
lea eax, [esi + 0x80]
call fcn.00404778
lea eax, [esi + 0x84]
call fcn.00404778
lea eax, [esi + 0x88]
call fcn.00404778
lea eax, [esi + 0x8c]
call fcn.00404778
lea eax, [esi + 0x90]
call fcn.00404778
lea eax, [esi + 0x94]
call fcn.00404778
lea eax, [esi + 0x98]
call fcn.00404778
lea eax, [esi + 0x9c]
call fcn.00404778
lea eax, [esi + 0xa0]
call fcn.00404778
lea eax, [esi + 0xa4]
call fcn.00404778
lea eax, [esi + 0xa8]
call fcn.00404778
xor ebx, ebx
mov dword [esi + 0xb0], ebx
push ebx
lea eax, [esi + 0xac]
mov ecx, 1
mov edx, dword [0x487334]
call fcn.00405d40
add esp, 4
xor eax, eax
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xbc]
mov edx, 0x515890
call fcn.004047cc
lea eax, [esi + 0xc0]
mov edx, 0x51589c
call fcn.004047cc
lea eax, [esi + 0xc4]
mov edx, 0x5158a8
call fcn.004047cc
lea eax, [esi + 0xc8]
mov edx, 0x515890
call fcn.004047cc
lea eax, [esi + 0xcc]
mov edx, 0x5158b4
call fcn.004047cc
lea eax, [esi + 0xd0]
mov edx, 0x5158c0
call fcn.004047cc
lea eax, [esi + 0xd4]
mov edx, 0x5158ec
call fcn.004047cc
lea eax, [esi + 0xd8]
mov edx, 0x515918
call fcn.004047cc
lea eax, [esi + 0xdc]
mov edx, 0x515944
call fcn.004047cc
lea eax, [esi + 0xe0]
mov edx, 0x515970
call fcn.004047cc
lea eax, [esi + 0xb4]
call fcn.00404778
lea eax, [esi + 0xe4]
call fcn.00404778
lea eax, [esi + 0xe8]
call fcn.00404778
lea eax, [esi + 0xec]
call fcn.00404778
lea eax, [esi + 0xf0]
call fcn.00404778
lea eax, [esi + 0xf4]
call fcn.00404778
lea eax, [esi + 0xf8]
call fcn.00404778
lea eax, [esi + 0xfc]
call fcn.00404778
lea eax, [esi + 0x100]
call fcn.00404778
lea eax, [esi + 0x104]
call fcn.00404778
lea eax, [esi + 0x108]
call fcn.00404778
lea eax, [esi + 0x10c]
call fcn.00404778
lea eax, [esi + 0x110]
call fcn.00404778
lea eax, [esi + 0x114]
call fcn.00404778
lea eax, [esi + 0x118]
call fcn.00404778
lea eax, [esi + 0x11c]
call fcn.00404778
lea eax, [esi + 0x124]
call fcn.00404778
xor eax, eax
mov dword [esi + 0x12c], eax
xor eax, eax
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x12c]
push eax
lea eax, [esi + 0x120]
mov ecx, 1
mov edx, dword [0x487334]
call fcn.00405d40
add esp, 4
mov eax, dword [esi + 0x130]
push eax
lea eax, [esi + 0x128]
mov ecx, 1
mov edx, dword [0x487334]
call fcn.00405d40
add esp, 4
lea eax, [esi + 0x134]
call fcn.00404778
lea eax, [esi + 0x138]
call fcn.00404778
lea eax, [esi + 0x13c]
call fcn.00404778
lea eax, [esi + 0x140]
call fcn.00404778
xor eax, eax
mov dword [esi + 0x144], eax
xor eax, eax
mov dword [esi + 0x148], eax
xor eax, eax
mov dword [esi + 0x14c], eax
lea eax, [esi + 0x150]
call fcn.00404778
lea eax, [esi + 0x154]
call fcn.00404778
lea eax, [esi + 0x158]
call fcn.00404778
lea eax, [esi + 0x15c]
call fcn.00404778
lea eax, [esi + 0x160]
call fcn.00404778
lea eax, [esi + 0x164]
call fcn.00404778
lea eax, [esi + 0x16c]
call fcn.00404778
xor eax, eax
mov dword [esi + 0x230], eax
xor eax, eax
mov dword [esi + 0x2f4], eax
xor eax, eax
mov dword [esi + 0x3b8], eax
mov edi, 0x10
lea ebx, [esi + 0x170]
mov eax, ebx
call fcn.00404778
lea eax, [ebx + 0x40]
call fcn.00404778
lea eax, [ebx + 0x80]
call fcn.00404778
lea eax, [ebx + 0xc4]
call fcn.00404778
lea eax, [ebx + 0x104]
call fcn.00404778
lea eax, [ebx + 0x144]
call fcn.00404778
lea eax, [ebx + 0x188]
call fcn.00404778
lea eax, [ebx + 0x1c8]
call fcn.00404778
lea eax, [ebx + 0x208]
call fcn.00404778
add ebx, 4
dec edi
jne 0x512c4a
xor eax, eax
mov dword [esi + 0x3fc], eax
xor eax, eax
mov dword [esi + 0x440], eax
mov edi, 0x10
lea ebx, [esi + 0x3bc]
mov eax, ebx
call fcn.00404778
lea eax, [ebx + 0x44]
call fcn.00404778
add ebx, 4
dec edi
jne 0x512cc7
push 0
lea eax, [ebp - 0x20]
mov ecx, 1
mov edx, dword [0x487334]
call fcn.00405d40
add esp, 4
mov byte [ebp - 0xd], 1
mov eax, 0x564354
call fcn.00404778
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00487974
jmp 0x515380
mov edx, dword [ebp - 0xc]
mov eax, 0x51599c
call fcn.00404d8c
mov ebx, eax
cmp ebx, 1
jge 0x512d46
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0xc]
call fcn.00404810
lea eax, [ebp - 0xc]
call fcn.00404778
jmp 0x512d73
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00404ca8
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00404a48
mov ecx, eax
lea edx, [ebx + 2]
mov eax, dword [ebp - 0xc]
call fcn.00404ca8
mov edx, dword [ebp - 0x14]
mov eax, 0x5159a8
call fcn.00404d8c
mov ebx, eax
cmp ebx, 1
jge 0x512d9b
mov eax, 0x564354
mov edx, 0x5159b4
call fcn.004047cc
jmp 0x51538a
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404ca8
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x18]
call fcn.00408be4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00404a48
mov ecx, eax
lea edx, [ebx + 1]
mov eax, dword [ebp - 0x14]
call fcn.00404ca8
mov eax, dword [ebp - 0x1c]
call fcn.00404a48
mov ebx, eax
mov eax, dword [ebp - 0x18]
mov edx, 0x5159d4
call fcn.00404b94
jne 0x512ee9
mov eax, esi
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
lea eax, [ebp - 0x2c]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [esi]
call fcn.00404ca8
mov eax, dword [ebp - 0x2c]
mov edx, 0x5159e0
call fcn.00404b94
sete al
mov byte [esi + 8], al
lea eax, [ebp - 0x30]
push eax
mov ecx, 1
mov edx, 2
mov eax, dword [esi]
call fcn.00404ca8
mov eax, dword [ebp - 0x30]
mov edx, 0x5159e0
call fcn.00404b94
sete al
mov byte [esi + 9], al
lea eax, [ebp - 0x34]
push eax
mov ecx, 1
mov edx, 3
mov eax, dword [esi]
call fcn.00404ca8
mov eax, dword [ebp - 0x34]
mov edx, 0x5159e0
call fcn.00404b94
sete al
mov byte [esi + 0xa], al
lea eax, [ebp - 0x38]
push eax
mov ecx, 1
mov edx, 4
mov eax, dword [esi]
call fcn.00404ca8
mov eax, dword [ebp - 0x38]
mov edx, 0x5159e0
call fcn.00404b94
sete al
mov byte [esi + 0xb], al
lea eax, [ebp - 0x3c]
push eax
mov ecx, 1
mov edx, 5
mov eax, dword [esi]
call fcn.00404ca8
mov eax, dword [ebp - 0x3c]
mov edx, 0x5159e0
call fcn.00404b94
sete al
mov byte [esi + 0xc], al
cmp byte [esi + 0xa], 0
je 0x512ecc
mov byte [esi + 9], 1
cmp byte [esi + 9], 0
je 0x512ed6
mov byte [esi + 8], 1
cmp byte [esi + 0xc], 0
je 0x515380
mov byte [esi + 0xb], 1
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5159ec
call fcn.00404b94
jne 0x512f1e
mov eax, dword [ebp - 0x1c]
mov edx, 0x5159e0
call fcn.00404b94
jne 0x512f10
mov dword [esi + 4], 1
jmp 0x512f15
xor eax, eax
mov dword [esi + 4], eax
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5159fc
call fcn.00404b94
jne 0x512f6c
cmp ebx, 8
jle 0x512f46
mov eax, 0x564354
mov edx, 0x515a0c
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x40]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004923d4
mov edx, dword [ebp - 0x40]
lea eax, [esi + 0x10]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515a2c
call fcn.00404b94
jne 0x512fba
cmp ebx, 8
jle 0x512f94
mov eax, 0x564354
mov edx, 0x515a3c
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x44]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004923d4
mov edx, dword [ebp - 0x44]
lea eax, [esi + 0x14]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515a5c
call fcn.00404b94
jne 0x513008
cmp ebx, 8
jle 0x512fe2
mov eax, 0x564354
mov edx, 0x515a6c
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x48]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004923d4
mov edx, dword [ebp - 0x48]
lea eax, [esi + 0x18]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515a8c
call fcn.00404b94
jne 0x513056
cmp ebx, 8
jle 0x513030
mov eax, 0x564354
mov edx, 0x515a9c
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x4c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004923d4
mov edx, dword [ebp - 0x4c]
lea eax, [esi + 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515abc
call fcn.00404b94
jne 0x51309d
cmp ebx, 0x10
je 0x51307e
mov eax, 0x564354
mov edx, 0x515ac8
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x20]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515ae8
call fcn.00404b94
jne 0x513126
cmp ebx, 0x12
jl 0x5130b6
cmp ebx, 0x14
jle 0x5130ca
mov eax, 0x564354
mov edx, 0x515af8
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x5130f5
lea eax, [ebp - 0x54]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x14
mov edx, 0x515b24
call fcn.0048848c
mov edx, dword [ebp - 0x54]
lea eax, [esi + 0x24]
call fcn.004047cc
jmp 0x51311d
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x58]
mov eax, dword [0x562af4]
mov eax, dword [eax]
call fcn.00492494
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x24]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515b30
call fcn.00404b94
jne 0x513196
cmp ebx, 0xf
je 0x513153
cmp ebx, 0x12
je 0x513153
mov eax, 0x564354
mov edx, 0x515b44
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x60]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.0049254c
mov edx, dword [ebp - 0x60]
lea eax, [esi + 0x28]
call fcn.004047cc
lea ecx, [ebp - 0x64]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004908f0
mov edx, dword [ebp - 0x64]
lea eax, [esi + 0x2c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515b70
call fcn.00404b94
jne 0x5131dd
cmp ebx, 4
je 0x5131be
mov eax, 0x564354
mov edx, 0x515b80
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x68]
lea eax, [esi + 0x2c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515ba4
call fcn.00404b94
jne 0x513224
cmp ebx, 0x20
jge 0x513205
mov eax, 0x564354
mov edx, 0x515bb4
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x6c]
lea eax, [esi + 0x30]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515bd8
call fcn.00404b94
jne 0x513285
cmp ebx, 0x1b
jle 0x51324c
mov eax, 0x564354
mov edx, 0x515bec
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x51325f
lea eax, [esi + 0x34]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51327c
lea ecx, [ebp - 0x70]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004928a4
mov edx, dword [ebp - 0x70]
lea eax, [esi + 0x34]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515c20
call fcn.00404b94
jne 0x5132cd
test ebx, ebx
jne 0x5132a7
lea eax, [esi + 0x38]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5132c4
lea ecx, [ebp - 0x74]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493688
mov edx, dword [ebp - 0x74]
lea eax, [esi + 0x38]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515c30
call fcn.00404b94
jne 0x513315
test ebx, ebx
jne 0x5132ef
lea eax, [esi + 0x3c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51330c
lea ecx, [ebp - 0x78]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004943b8
mov edx, dword [ebp - 0x78]
lea eax, [esi + 0x3c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515c44
call fcn.00404b94
jne 0x51335d
test ebx, ebx
jne 0x513337
lea eax, [esi + 0x40]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513354
lea ecx, [ebp - 0x7c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004937f4
mov edx, dword [ebp - 0x7c]
lea eax, [esi + 0x40]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515c58
call fcn.00404b94
jne 0x5133a5
test ebx, ebx
jne 0x51337f
lea eax, [esi + 0x44]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51339c
lea ecx, [ebp - 0x80]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004937f4
mov edx, dword [ebp - 0x80]
lea eax, [esi + 0x44]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515c6c
call fcn.00404b94
jne 0x5133f3
test ebx, ebx
jne 0x5133c7
lea eax, [esi + 0x48]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5133ea
lea ecx, [ebp - 0x84]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004937f4
mov edx, dword [ebp - 0x84]
lea eax, [esi + 0x48]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515c80
call fcn.00404b94
jne 0x513440
cmp ebx, 2
je 0x51341b
mov eax, 0x564354
mov edx, 0x515c94
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x88]
lea eax, [esi + 0x4c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515cb4
call fcn.00404b94
jne 0x513487
test ebx, ebx
jne 0x513462
lea eax, [esi + 0x50]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51347e
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x8c]
lea eax, [esi + 0x50]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515cc8
call fcn.00404b94
jne 0x5134ce
test ebx, ebx
jne 0x5134a9
lea eax, [esi + 0x54]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5134c5
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x90]
lea eax, [esi + 0x54]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515cdc
call fcn.00404b94
jne 0x513515
test ebx, ebx
jne 0x5134f0
lea eax, [esi + 0x58]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51350c
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x94]
lea eax, [esi + 0x58]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515cec
call fcn.00404b94
jne 0x513563
test ebx, ebx
jne 0x513537
lea eax, [esi + 0x5c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51355a
lea ecx, [ebp - 0x98]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493cd4
mov edx, dword [ebp - 0x98]
lea eax, [esi + 0x5c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515cfc
call fcn.00404b94
jne 0x513586
lea eax, [esi + 0x60]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515d10
call fcn.00404b94
jne 0x5136d8
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov eax, dword [ebp - 0x14]
mov edx, 0x5159e0
call fcn.00404b94
je 0x5135d1
mov eax, dword [ebp - 0x14]
mov edx, 0x515d20
call fcn.00404b94
je 0x5135d1
mov eax, dword [ebp - 0x14]
mov edx, 0x515d34
call fcn.00404b94
jne 0x5135dd
mov dword [esi + 0x64], 1
jmp 0x5136cf
mov eax, dword [ebp - 0x14]
mov edx, 0x515d48
call fcn.00404b94
je 0x51360a
mov eax, dword [ebp - 0x14]
mov edx, 0x515d54
call fcn.00404b94
je 0x51360a
mov eax, dword [ebp - 0x14]
mov edx, 0x515d68
call fcn.00404b94
jne 0x513616
mov dword [esi + 0x64], 2
jmp 0x5136cf
mov eax, dword [ebp - 0x14]
mov edx, 0x515d7c
call fcn.00404b94
je 0x513643
mov eax, dword [ebp - 0x14]
mov edx, 0x515d88
call fcn.00404b94
je 0x513643
mov eax, dword [ebp - 0x14]
mov edx, 0x515d9c
call fcn.00404b94
jne 0x51364f
mov dword [esi + 0x64], 3
jmp 0x5136cf
mov eax, dword [ebp - 0x14]
mov edx, 0x515db0
call fcn.00404b94
je 0x51369a
mov eax, dword [ebp - 0x14]
mov edx, 0x515dbc
call fcn.00404b94
je 0x51369a
mov eax, dword [ebp - 0x14]
mov edx, 0x515dd0
call fcn.00404b94
je 0x51369a
mov eax, dword [ebp - 0x14]
mov edx, 0x515de4
call fcn.00404b94
je 0x51369a
mov eax, dword [ebp - 0x14]
mov edx, 0x515df8
call fcn.00404b94
jne 0x5136a1
xor eax, eax
mov dword [esi + 0x64], eax
jmp 0x5136cf
mov eax, dword [ebp - 0x14]
mov edx, 0x515e04
call fcn.00404b94
je 0x5136bf
mov eax, dword [ebp - 0x14]
mov edx, 0x515e10
call fcn.00404b94
jne 0x5136c8
mov dword [esi + 0x64], 9
jmp 0x5136cf
mov dword [esi + 0x64], 1
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515e1c
call fcn.00404b94
jne 0x513754
cmp ebx, 0xf
je 0x513705
cmp ebx, 0x12
je 0x513705
mov eax, 0x564354
mov edx, 0x515e30
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x9c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.0049254c
mov edx, dword [ebp - 0x9c]
lea eax, [esi + 0x6c]
call fcn.004047cc
lea ecx, [ebp - 0xa0]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004908f0
mov edx, dword [ebp - 0xa0]
lea eax, [esi + 0x70]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515e5c
call fcn.00404b94
jne 0x5137a1
cmp ebx, 4
je 0x51377c
mov eax, 0x564354
mov edx, 0x515e6c
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xa4]
lea eax, [esi + 0x70]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515e90
call fcn.00404b94
jne 0x5137ee
cmp ebx, 0x20
jge 0x5137c9
mov eax, 0x564354
mov edx, 0x515ea0
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xa8]
lea eax, [esi + 0x74]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515ec4
call fcn.00404b94
jne 0x513857
cmp ebx, 0x20
je 0x513816
mov eax, 0x564354
mov edx, 0x515ed4
call fcn.004047cc
jmp 0x51538a
lea eax, [ebp - 0xac]
push eax
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov ecx, dword [ebp - 0xb0]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [esi + 0x74]
call fcn.004922cc
mov edx, dword [ebp - 0xac]
lea eax, [esi + 0x78]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515ef8
call fcn.00404b94
jne 0x5138a4
cmp ebx, 0x20
je 0x51387f
mov eax, 0x564354
mov edx, 0x515f08
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xb4]
lea eax, [esi + 0x78]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515f2c
call fcn.00404b94
jne 0x51390b
cmp ebx, 0x1b
jle 0x5138cc
mov eax, 0x564354
mov edx, 0x515bec
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x5138df
lea eax, [esi + 0x7c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513902
lea ecx, [ebp - 0xb8]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004928a4
mov edx, dword [ebp - 0xb8]
lea eax, [esi + 0x7c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515f40
call fcn.00404b94
jne 0x51395f
test ebx, ebx
jne 0x513930
lea eax, [esi + 0x80]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513956
lea ecx, [ebp - 0xbc]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493688
mov edx, dword [ebp - 0xbc]
lea eax, [esi + 0x80]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515f50
call fcn.00404b94
jne 0x5139b3
test ebx, ebx
jne 0x513984
lea eax, [esi + 0x84]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5139aa
lea ecx, [ebp - 0xc0]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004943b8
mov edx, dword [ebp - 0xc0]
lea eax, [esi + 0x84]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515f64
call fcn.00404b94
jne 0x513a07
test ebx, ebx
jne 0x5139d8
lea eax, [esi + 0x88]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5139fe
lea ecx, [ebp - 0xc4]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004939dc
mov edx, dword [ebp - 0xc4]
lea eax, [esi + 0x88]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515f78
call fcn.00404b94
jne 0x513a5b
test ebx, ebx
jne 0x513a2c
lea eax, [esi + 0x8c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513a52
lea ecx, [ebp - 0xc8]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004939dc
mov edx, dword [ebp - 0xc8]
lea eax, [esi + 0x8c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515f8c
call fcn.00404b94
jne 0x513aaf
test ebx, ebx
jne 0x513a80
lea eax, [esi + 0x90]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513aa6
lea ecx, [ebp - 0xcc]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004939dc
mov edx, dword [ebp - 0xcc]
lea eax, [esi + 0x90]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515fa0
call fcn.00404b94
jne 0x513b03
test ebx, ebx
jne 0x513ad4
lea eax, [esi + 0x94]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513afa
lea ecx, [ebp - 0xd0]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004937f4
mov edx, dword [ebp - 0xd0]
lea eax, [esi + 0x94]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515fb4
call fcn.00404b94
jne 0x513b57
test ebx, ebx
jne 0x513b28
lea eax, [esi + 0x98]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513b4e
lea ecx, [ebp - 0xd4]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.004937f4
mov edx, dword [ebp - 0xd4]
lea eax, [esi + 0x98]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515fc8
call fcn.00404b94
jne 0x513ba7
cmp ebx, 2
je 0x513b7f
mov eax, 0x564354
mov edx, 0x515fdc
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xd8]
lea eax, [esi + 0x9c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x515ffc
call fcn.00404b94
jne 0x513bf4
test ebx, ebx
jne 0x513bcc
lea eax, [esi + 0xa0]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513beb
lea edx, [ebp - 0xdc]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xdc]
lea eax, [esi + 0xa0]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516010
call fcn.00404b94
jne 0x513c41
test ebx, ebx
jne 0x513c19
lea eax, [esi + 0xa4]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513c38
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xe0]
lea eax, [esi + 0xa4]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516024
call fcn.00404b94
jne 0x513c8e
test ebx, ebx
jne 0x513c66
lea eax, [esi + 0xa8]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x513c85
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xe4]
lea eax, [esi + 0xa8]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516034
call fcn.00404b94
jne 0x513ce3
lea ecx, [ebp - 0xe8]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493f18
mov edx, dword [ebp - 0xe8]
lea eax, [esi + 0xac]
mov ecx, dword [0x487334]
call fcn.00405e9c
mov eax, dword [esi + 0xac]
call fcn.00405b84
mov dword [esi + 0xb0], eax
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516044
call fcn.00404b94
jne 0x513de8
test ebx, ebx
jne 0x513d4f
lea eax, [esi + 0xbc]
mov edx, 0x515890
call fcn.004047cc
lea eax, [esi + 0xc0]
mov edx, 0x51589c
call fcn.004047cc
lea eax, [esi + 0xc4]
mov edx, 0x5158a8
call fcn.004047cc
lea eax, [esi + 0xc8]
mov edx, 0x515890
call fcn.004047cc
lea eax, [esi + 0xcc]
mov edx, 0x5158b4
call fcn.004047cc
jmp 0x515380
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x516054
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
cmp eax, 5
jge 0x513d8c
mov eax, 0x564354
mov edx, 0x516060
call fcn.004047cc
jmp 0x51538a
xor edi, edi
lea ebx, [esi + 0xbc]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
lea edx, [ebp - 0xec]
call fcn.00408e34
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x20]
lea eax, [eax + edi*4]
mov edx, 0x51589c
call fcn.00404a94
push ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
mov edx, eax
dec edx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
mov ecx, 2
call fcn.00404ca8
inc edi
add ebx, 4
cmp edi, 5
jne 0x513d94
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51608c
call fcn.00404b94
jne 0x513eef
test ebx, ebx
jne 0x513e54
lea eax, [esi + 0xd0]
mov edx, 0x5158c0
call fcn.004047cc
lea eax, [esi + 0xd4]
mov edx, 0x5158ec
call fcn.004047cc
lea eax, [esi + 0xd8]
mov edx, 0x515918
call fcn.004047cc
lea eax, [esi + 0xdc]
mov edx, 0x515944
call fcn.004047cc
lea eax, [esi + 0xe0]
mov edx, 0x515970
call fcn.004047cc
jmp 0x515380
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x516054
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
cmp eax, 5
jge 0x513e91
mov eax, 0x564354
mov edx, 0x51609c
call fcn.004047cc
jmp 0x51538a
xor edi, edi
lea ebx, [esi + 0xd0]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
lea edx, [ebp - 0xf0]
call fcn.00408e34
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x20]
lea eax, [eax + edi*4]
mov edx, 0x5158c0
call fcn.00404a94
push ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
mov edx, eax
sub edx, 0x1f
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
mov ecx, 0x20
call fcn.00404ca8
inc edi
add ebx, 4
cmp edi, 5
jne 0x513e99
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5160c8
call fcn.00404b94
jne 0x513f15
lea eax, [esi + 0xb4]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5160dc
call fcn.00404b94
jne 0x513f6a
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov eax, dword [ebp - 0x14]
mov edx, 0x515e10
call fcn.00404b94
je 0x513f4d
mov eax, dword [ebp - 0x14]
mov edx, 0x515e04
call fcn.00404b94
jne 0x513f59
mov dword [esi + 0xb8], 9
jmp 0x513f61
xor eax, eax
mov dword [esi + 0xb8], eax
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5160ec
call fcn.00404b94
jne 0x513fbf
cmp ebx, 0x10
je 0x513f97
cmp ebx, 0x20
je 0x513f97
mov eax, 0x564354
mov edx, 0x516100
call fcn.004047cc
jmp 0x51538a
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0xf4]
lea eax, [esi + 0xe8]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51612c
call fcn.00404b94
jne 0x514088
test ebx, ebx
je 0x513fef
cmp ebx, 0xf
je 0x513fef
mov eax, 0x564354
mov edx, 0x516140
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x514033
lea eax, [ebp - 0xf8]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x14
mov edx, 0x515b24
call fcn.0048848c
mov edx, dword [ebp - 0xf8]
lea eax, [esi + 0xec]
call fcn.004047cc
lea eax, [esi + 0xf4]
mov edx, 0x516164
call fcn.004047cc
jmp 0x51407f
lea ecx, [ebp - 0xfc]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00490a9c
mov edx, dword [ebp - 0xfc]
lea eax, [esi + 0xec]
call fcn.004047cc
lea ecx, [ebp - 0x100]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00490a08
mov edx, dword [ebp - 0x100]
lea eax, [esi + 0xf4]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516170
call fcn.00404b94
jne 0x5140c7
cmp ebx, 2
je 0x5140b0
mov eax, 0x564354
mov edx, 0x516184
call fcn.004047cc
jmp 0x51538a
lea eax, [esi + 0xf4]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5161a8
call fcn.00404b94
jne 0x51415a
test ebx, ebx
je 0x5140f7
cmp ebx, 0xf
je 0x5140f7
mov eax, 0x564354
mov edx, 0x5161bc
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x51412b
lea eax, [ebp - 0x104]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x14
mov edx, 0x515db0
call fcn.0048848c
mov edx, dword [ebp - 0x104]
lea eax, [esi + 0xf0]
call fcn.004047cc
jmp 0x514151
lea ecx, [ebp - 0x108]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00490a9c
mov edx, dword [ebp - 0x108]
lea eax, [esi + 0xf0]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5161ec
call fcn.00404b94
jne 0x5141dd
cmp ebx, 5
jle 0x514182
mov eax, 0x564354
mov edx, 0x516200
call fcn.004047cc
jmp 0x51538a
lea eax, [ebp - 0x110]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00488594
mov edx, eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 4
call fcn.0048869c
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x10c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
call fcn.00490770
mov edx, dword [ebp - 0x10c]
lea eax, [esi + 0xf8]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51621c
call fcn.00404b94
jne 0x514260
cmp ebx, 5
jle 0x514205
mov eax, 0x564354
mov edx, 0x516230
call fcn.004047cc
jmp 0x51538a
lea eax, [ebp - 0x118]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00488594
mov edx, eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 4
call fcn.0048869c
mov edx, dword [ebp - 0x118]
lea ecx, [ebp - 0x114]
mov eax, dword [0x562af4]
mov eax, dword [eax]
call fcn.00490770
mov edx, dword [ebp - 0x114]
lea eax, [esi + 0xfc]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51624c
call fcn.00404b94
jne 0x5142e2
test ebx, ebx
je 0x51428c
cmp ebx, 8
je 0x51428c
mov eax, 0x564354
mov edx, 0x516260
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x5142a2
lea eax, [esi + 0x100]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5142d9
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x120]
lea ecx, [ebp - 0x11c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
call fcn.00492cf0
mov edx, dword [ebp - 0x11c]
lea eax, [esi + 0x100]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516284
call fcn.00404b94
jne 0x514364
test ebx, ebx
je 0x51430e
cmp ebx, 8
je 0x51430e
mov eax, 0x564354
mov edx, 0x516298
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x514324
lea eax, [esi + 0x108]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51435b
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x128]
lea ecx, [ebp - 0x124]
mov eax, dword [0x562af4]
mov eax, dword [eax]
call fcn.00492cf0
mov edx, dword [ebp - 0x124]
lea eax, [esi + 0x108]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5162bc
call fcn.00404b94
jne 0x5143e6
test ebx, ebx
je 0x514390
cmp ebx, 0xe
je 0x514390
mov eax, 0x564354
mov edx, 0x5162d0
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x5143a6
lea eax, [esi + 0x104]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5143dd
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x130]
lea ecx, [ebp - 0x12c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
call fcn.00492eac
mov edx, dword [ebp - 0x12c]
lea eax, [esi + 0x104]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5162f4
call fcn.00404b94
jne 0x514453
cmp ebx, 0x14
jle 0x51440e
mov eax, 0x564354
mov edx, 0x516308
call fcn.004047cc
jmp 0x51538a
test ebx, ebx
jne 0x514424
lea eax, [esi + 0x10c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51444a
lea ecx, [ebp - 0x134]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00492f54
mov edx, dword [ebp - 0x134]
lea eax, [esi + 0x10c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516328
call fcn.00404b94
jne 0x5144a7
test ebx, ebx
jne 0x514478
lea eax, [esi + 0x110]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51449e
lea ecx, [ebp - 0x138]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493cd4
mov edx, dword [ebp - 0x138]
lea eax, [esi + 0x110]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51633c
call fcn.00404b94
jne 0x5144fb
test ebx, ebx
jne 0x5144cc
lea eax, [esi + 0x114]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5144f2
lea ecx, [ebp - 0x13c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.0049319c
mov edx, dword [ebp - 0x13c]
lea eax, [esi + 0x114]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516354
call fcn.00404b94
jne 0x514552
cmp ebx, 0x10
jle 0x514523
mov eax, 0x564354
mov edx, 0x51636c
call fcn.004047cc
jmp 0x51538a
lea ecx, [ebp - 0x140]
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.0048787c
mov edx, dword [ebp - 0x140]
lea eax, [esi + 0x118]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516390
call fcn.00404b94
jne 0x5145a6
test ebx, ebx
jne 0x514577
lea eax, [esi + 0x11c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x51459d
lea ecx, [ebp - 0x144]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493324
mov edx, dword [ebp - 0x144]
lea eax, [esi + 0x11c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5163a8
call fcn.00404b94
jne 0x514699
lea eax, [ebp - 0x148]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov edx, dword [ebp - 0x148]
lea eax, [esi + 0x120]
mov ecx, dword [0x487334]
call fcn.00405e9c
mov eax, dword [esi + 0x120]
call fcn.00405b84
mov dword [esi + 0x12c], eax
cmp dword [esi + 0x12c], 1
jge 0x514619
mov eax, 0x564354
mov edx, 0x5163cc
call fcn.004047cc
jmp 0x51538a
mov eax, dword [esi + 0x12c]
dec eax
test eax, eax
jl 0x514683
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
mov eax, dword [esi + 0x120]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x10
jle 0x51464e
mov eax, 0x564354
mov edx, 0x5163e8
call fcn.004047cc
jmp 0x514683
mov eax, dword [esi + 0x120]
mov edx, dword [eax + edi*4]
lea ecx, [ebp - 0x14c]
mov eax, dword [0x562a70]
mov eax, dword [eax]
call fcn.0048787c
mov edx, dword [ebp - 0x14c]
mov eax, dword [esi + 0x120]
lea eax, [eax + edi*4]
call fcn.004047cc
inc edi
dec dword [ebp - 0x24]
jne 0x51462a
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51640c
call fcn.00404b94
jne 0x5146ed
test ebx, ebx
jne 0x5146be
lea eax, [esi + 0x124]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5146e4
lea ecx, [ebp - 0x150]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00493324
mov edx, dword [ebp - 0x150]
lea eax, [esi + 0x124]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516424
call fcn.00404b94
jne 0x5147e0
lea eax, [ebp - 0x154]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov edx, dword [ebp - 0x154]
lea eax, [esi + 0x128]
mov ecx, dword [0x487334]
call fcn.00405e9c
mov eax, dword [esi + 0x128]
call fcn.00405b84
mov dword [esi + 0x130], eax
cmp dword [esi + 0x130], 1
jge 0x514760
mov eax, 0x564354
mov edx, 0x51643c
call fcn.004047cc
jmp 0x51538a
mov eax, dword [esi + 0x130]
dec eax
test eax, eax
jl 0x5147ca
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
mov eax, dword [esi + 0x128]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x10
jle 0x514795
mov eax, 0x564354
mov edx, 0x516458
call fcn.004047cc
jmp 0x5147ca
mov eax, dword [esi + 0x128]
mov edx, dword [eax + edi*4]
lea ecx, [ebp - 0x158]
mov eax, dword [0x562a70]
mov eax, dword [eax]
call fcn.0048787c
mov edx, dword [ebp - 0x158]
mov eax, dword [esi + 0x128]
lea eax, [eax + edi*4]
call fcn.004047cc
inc edi
dec dword [ebp - 0x24]
jne 0x514771
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51647c
call fcn.00404b94
jne 0x51482d
test ebx, ebx
jne 0x514805
lea eax, [esi + 0x134]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x514824
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x15c]
lea eax, [esi + 0x134]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516490
call fcn.00404b94
jne 0x51487a
test ebx, ebx
jne 0x514852
lea eax, [esi + 0x138]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x514871
lea edx, [ebp - 0x160]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x160]
lea eax, [esi + 0x138]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5164a4
call fcn.00404b94
jne 0x5148c7
test ebx, ebx
jne 0x51489f
lea eax, [esi + 0x13c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5148be
lea edx, [ebp - 0x164]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x164]
lea eax, [esi + 0x13c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5164b8
call fcn.00404b94
jne 0x51491f
test ebx, ebx
jne 0x5148ec
lea eax, [esi + 0x13c]
mov edx, 0x515c0c
call fcn.004047cc
jmp 0x5148fa
lea eax, [esi + 0x140]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov dword [esi + 0x144], 1
mov dword [esi + 0x148], 1
xor eax, eax
mov dword [esi + 0x14c], eax
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5164d0
call fcn.00404b94
jne 0x514941
mov eax, dword [ebp - 0x1c]
call fcn.00409208
mov dword [esi + 0x144], eax
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5164e4
call fcn.00404b94
jne 0x514963
mov eax, dword [ebp - 0x1c]
call fcn.00409208
mov dword [esi + 0x148], eax
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5164f8
call fcn.00404b94
jne 0x514985
mov eax, dword [ebp - 0x1c]
call fcn.00409208
mov dword [esi + 0x14c], eax
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5164a4
call fcn.00404b94
jne 0x5149b8
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x1c]
call fcn.00408be4
mov edx, dword [ebp - 0x168]
lea eax, [esi + 0x13c]
call fcn.004047cc
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51650c
call fcn.00404b94
jne 0x5149de
lea eax, [esi + 0x150]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516520
call fcn.00404b94
jne 0x514a04
lea eax, [esi + 0x154]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516534
call fcn.00404b94
jne 0x514a2a
lea eax, [esi + 0x158]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516548
call fcn.00404b94
jne 0x514a50
lea eax, [esi + 0x15c]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51655c
call fcn.00404b94
jne 0x514a76
lea eax, [esi + 0x160]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516570
call fcn.00404b94
jne 0x514a9c
lea eax, [esi + 0x164]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516580
call fcn.00404b94
jne 0x514adb
cmp ebx, 0x20
je 0x514ac4
mov eax, 0x564354
mov edx, 0x51659c
call fcn.004047cc
jmp 0x51538a
lea eax, [esi + 0x16c]
mov edx, dword [ebp - 0x1c]
call fcn.004047cc
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5165c8
call fcn.00404b94
jne 0x514ba2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x230], eax
mov eax, dword [esi + 0x230]
dec eax
test eax, eax
jl 0x514b8c
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x170]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x514b76
push 0x5165c8
lea eax, [ebp - 0x16c]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x16c]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x514b8c
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514b2b
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5165f8
call fcn.00404b94
jne 0x514c69
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x230], eax
mov eax, dword [esi + 0x230]
dec eax
test eax, eax
jl 0x514c53
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x1b0]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x514c3d
push 0x5165f8
lea eax, [ebp - 0x170]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x170]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x514c53
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514bf2
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51660c
call fcn.00404b94
jne 0x514d30
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x230], eax
mov eax, dword [esi + 0x230]
dec eax
test eax, eax
jl 0x514d1a
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x1f0]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x514d04
push 0x51660c
lea eax, [ebp - 0x174]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x174]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x514d1a
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514cb9
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516620
call fcn.00404b94
jne 0x514df7
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x2f4], eax
mov eax, dword [esi + 0x2f4]
dec eax
test eax, eax
jl 0x514de1
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x234]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x514dcb
push 0x516620
lea eax, [ebp - 0x178]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x178]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x514de1
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514d80
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x51663c
call fcn.00404b94
jne 0x514ebe
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x2f4], eax
mov eax, dword [esi + 0x2f4]
dec eax
test eax, eax
jl 0x514ea8
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x274]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x514e92
push 0x51663c
lea eax, [ebp - 0x17c]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x17c]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x514ea8
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514e47
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516658
call fcn.00404b94
jne 0x514f85
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x2f4], eax
mov eax, dword [esi + 0x2f4]
dec eax
test eax, eax
jl 0x514f6f
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x2b4]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x514f59
push 0x516658
lea eax, [ebp - 0x180]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x180]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x514f6f
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514f0e
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516674
call fcn.00404b94
jne 0x51504c
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x3b8]
dec eax
test eax, eax
jl 0x515036
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x2f8]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x515020
push 0x516674
lea eax, [ebp - 0x184]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x184]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x515036
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x514fd5
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x516690
call fcn.00404b94
jne 0x515113
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x3b8]
dec eax
test eax, eax
jl 0x5150fd
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x338]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x5150e7
push 0x516690
lea eax, [ebp - 0x188]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x188]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x5150fd
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x51509c
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5166ac
call fcn.00404b94
jne 0x5151da
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x3b8]
dec eax
test eax, eax
jl 0x5151c4
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x378]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x20
je 0x5151ae
push 0x5166ac
lea eax, [ebp - 0x18c]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x18c]
push 0x5165dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x5151c4
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x515163
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5166c8
call fcn.00404b94
jne 0x5152ac
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x3fc], eax
mov eax, dword [esi + 0x3fc]
dec eax
test eax, eax
jl 0x515296
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x3bc]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
and eax, 0x80000001
jns 0x515241
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x515280
push 0x5166c8
lea eax, [ebp - 0x190]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x190]
push 0x5166dc
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x515296
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x51522a
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, dword [ebp - 0x18]
mov edx, 0x5166fc
call fcn.00404b94
jne 0x51536c
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 0x5163c0
mov edx, dword [ebp - 0x1c]
call fcn.004879ec
mov eax, dword [ebp - 0x20]
call fcn.00405b84
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x440]
dec eax
test eax, eax
jl 0x51535d
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
lea ebx, [esi + 0x400]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edi*4]
call fcn.00404a48
cmp eax, 0x28
je 0x515347
push 0x5166fc
lea eax, [ebp - 0x194]
push eax
mov eax, dword [0x562a70]
mov eax, dword [eax]
mov ecx, 2
mov edx, edi
call fcn.0048869c
push dword [ebp - 0x194]
push 0x516710
mov eax, 0x564354
mov edx, 3
call fcn.00404b08
jmp 0x51535d
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + edi*4]
call fcn.004047cc
inc edi
add ebx, 4
dec dword [ebp - 0x24]
jne 0x5152fc
cmp dword [0x564354], 0
jne 0x51538a
mov byte [ebp - 0xd], 0
jmp 0x515380
mov eax, 0x564354
mov ecx, dword [ebp - 0x18]
mov edx, 0x51672c
call fcn.00404a94
jmp 0x51538a
cmp dword [ebp - 0xc], 0
jne 0x512d1d
cmp dword [0x564354], 0
sete al
and al, byte [ebp - 0xd]
je 0x5153a8
mov eax, 0x564354
mov edx, 0x516748
call fcn.004047cc
cmp dword [0x564354], 0
je 0x5153bb
mov ebx, 0x64
jmp 0x5157c7
cmp dword [esi + 0x28], 0
je 0x515471
lea ecx, [ebp - 0x1c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [esi + 0x28]
call fcn.004925e4
mov ebx, 2
mov eax, dword [esi + 0x58]
call fcn.00404a48
cmp eax, 8
jl 0x515419
lea eax, [ebp - 0x198]
push eax
mov ecx, 1
mov edx, 8
mov eax, dword [esi + 0x58]
call fcn.00404ca8
mov eax, dword [ebp - 0x198]
mov edx, 0x515d7c
call fcn.00404b94
jne 0x515419
mov ebx, 3
cmp ebx, 3
jne 0x515436
lea eax, [ebp - 0x1c]
push eax
mov ecx, 6
mov edx, 4
mov eax, dword [ebp - 0x1c]
call fcn.00404ca8
jmp 0x51544c
lea eax, [ebp - 0x1c]
push eax
mov ecx, 5
mov edx, 4
mov eax, dword [ebp - 0x1c]
call fcn.00404ca8
lea ecx, [ebp - 0x19c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00492638
mov edx, dword [ebp - 0x19c]
lea eax, [esi + 0x68]
call fcn.004047cc
jmp 0x51547e
lea eax, [esi + 0x68]
mov edx, 0x516760
call fcn.004047cc
cmp dword [esi + 0x6c], 0
je 0x51553a
lea ecx, [ebp - 0x1c]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [esi + 0x28]
call fcn.004925e4
mov ebx, 2
mov eax, dword [esi + 0xa8]
call fcn.00404a48
cmp eax, 8
jl 0x5154df
lea eax, [ebp - 0x1a0]
push eax
mov ecx, 1
mov edx, 8
mov eax, dword [esi + 0x58]
call fcn.00404ca8
mov eax, dword [ebp - 0x1a0]
mov edx, 0x515d7c
call fcn.00404b94
jne 0x5154df
mov ebx, 3
cmp ebx, 3
jne 0x5154fc
lea eax, [ebp - 0x1c]
push eax
mov ecx, 6
mov edx, 4
mov eax, dword [ebp - 0x1c]
call fcn.00404ca8
jmp 0x515512
lea eax, [ebp - 0x1c]
push eax
mov ecx, 5
mov edx, 4
mov eax, dword [ebp - 0x1c]
call fcn.00404ca8
lea ecx, [ebp - 0x1a4]
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00492638
mov edx, dword [ebp - 0x1a4]
lea eax, [esi + 0xe4]
call fcn.004047cc
jmp 0x51554a
lea eax, [esi + 0xe4]
mov edx, 0x516760
call fcn.004047cc
cmp dword [esi + 0x13c], 0
jne 0x51559a
cmp dword [esi + 0x140], 0
je 0x51559a
mov eax, dword [esi + 0x148]
push eax
mov eax, dword [esi + 0x14c]
push eax
lea eax, [ebp - 0x1a8]
push eax
mov eax, dword [0x562af4]
mov eax, dword [eax]
mov ecx, dword [esi + 0x144]
mov edx, dword [esi + 0x140]
call fcn.00493370
mov edx, dword [ebp - 0x1a8]
lea eax, [esi + 0x13c]
call fcn.004047cc
cmp dword [esi + 0x170], 0
jne 0x5155b4
lea eax, [esi + 0x170]
mov edx, dword [esi + 0x1b0]
call fcn.004047cc
cmp dword [esi + 0x170], 0
jne 0x5155ce
lea eax, [esi + 0x170]
mov edx, dword [esi + 0x1f0]
call fcn.004047cc
cmp dword [esi + 0x1b0], 0
jne 0x5155e8
lea eax, [esi + 0x1b0]
mov edx, dword [esi + 0x170]
call fcn.004047cc
cmp dword [esi + 0x1f0], 0
jne 0x515602
lea eax, [esi + 0x1f0]
mov edx, dword [esi + 0x170]
call fcn.004047cc
mov edi, 0xf
lea ebx, [esi + 0x174]
cmp dword [ebx], 0
jne 0x51561f
mov eax, ebx
mov edx, dword [esi + 0x170]
call fcn.004047cc
cmp dword [ebx + 0x40], 0
jne 0x515633
lea eax, [ebx + 0x40]
mov edx, dword [esi + 0x1b0]
call fcn.004047cc
cmp dword [ebx + 0x80], 0
jne 0x51564d
lea eax, [ebx + 0x80]
mov edx, dword [esi + 0x1f0]
call fcn.004047cc
add ebx, 4
dec edi
jne 0x51560d
cmp dword [esi + 0x234], 0
jne 0x51566d
lea eax, [esi + 0x234]
mov edx, dword [esi + 0x274]
call fcn.004047cc
cmp dword [esi + 0x234], 0
jne 0x515687
lea eax, [esi + 0x234]
mov edx, dword [esi + 0x2b4]
call fcn.004047cc
cmp dword [esi + 0x274], 0
jne 0x5156a1
lea eax, [esi + 0x274]
mov edx, dword [esi + 0x234]
call fcn.004047cc
cmp dword [esi + 0x2b4], 0
jne 0x5156bb
lea eax, [esi + 0x2b4]
mov edx, dword [esi + 0x234]
call fcn.004047cc
mov edi, 0xf
lea ebx, [esi + 0x238]
cmp dword [ebx], 0
jne 0x5156d8
mov eax, ebx
mov edx, dword [esi + 0x234]
call fcn.004047cc
cmp dword [ebx + 0x40], 0
jne 0x5156ec
lea eax, [ebx + 0x40]
mov edx, dword [esi + 0x274]
call fcn.004047cc
cmp dword [ebx + 0x80], 0
jne 0x515706
lea eax, [ebx + 0x80]
mov edx, dword [esi + 0x2b4]
call fcn.004047cc
add ebx, 4
dec edi
jne 0x5156c6
cmp dword [esi + 0x2f8], 0
jne 0x515726
lea eax, [esi + 0x2f8]
mov edx, dword [esi + 0x338]
call fcn.004047cc
cmp dword [esi + 0x2f8], 0
jne 0x515740
lea eax, [esi + 0x2f8]
mov edx, dword [esi + 0x378]
call fcn.004047cc
cmp dword [esi + 0x338], 0
jne 0x51575a
lea eax, [esi + 0x338]
mov edx, dword [esi + 0x2f8]
call fcn.004047cc
cmp dword [esi + 0x378], 0
jne 0x515774
lea eax, [esi + 0x378]
mov edx, dword [esi + 0x2f8]
call fcn.004047cc
mov edi, 0xf
lea ebx, [esi + 0x2fc]
cmp dword [ebx], 0
jne 0x515791
mov eax, ebx
mov edx, dword [esi + 0x2f8]
call fcn.004047cc
cmp dword [ebx + 0x40], 0
jne 0x5157a5
lea eax, [ebx + 0x40]
mov edx, dword [esi + 0x338]
call fcn.004047cc
cmp dword [ebx + 0x80], 0
jne 0x5157bf
lea eax, [ebx + 0x80]
mov edx, dword [esi + 0x378]
call fcn.004047cc
add ebx, 4
dec edi
jne 0x51577f
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51587d
lea eax, [ebp - 0x1a8]
mov edx, 0x15
call fcn.0040479c
lea eax, [ebp - 0x154]
mov edx, dword [0x487334]
call fcn.00405e60
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0040479c
lea eax, [ebp - 0x148]
mov edx, dword [0x487334]
call fcn.00405e60
lea eax, [ebp - 0x144]
mov edx, 0x17
call fcn.0040479c
lea eax, [ebp - 0xe8]
mov edx, dword [0x487334]
call fcn.00405e60
lea eax, [ebp - 0xe4]
mov edx, 0x30
call fcn.0040479c
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0040479c
lea eax, [ebp - 0xc]
call fcn.00404778
lea eax, [ebp - 0x20]
mov edx, dword [0x487334]
call fcn.00405e60
lea eax, [ebp - 0x1c]
call fcn.00404778
ret