Function at 0x549ca0
Capabilities:
Get memory capacity
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1a4
push ebx
push esi
push edi
mov esi, ecx
push 0x100
call fcn.005756f6
add esp, 4
xor ebx, ebx
mov ecx, 0x65b178
mov dword [esp + 0x88], eax
push ebx
push 4
mov dword [0x63b380], 0x4765c0
mov dword [0x63b384], 0x65b178
call fcn.00478360
push 6
mov ecx, 0x5ab028
mov byte [0x65b17a], 1
mov dword [0x65b190], 6
call fcn.00405d80
lea edi, [esi + 0xb972]
mov ecx, 0xffff468e
mov byte [0x638b06], 0xff
mov byte [0x638b07], 0xff
mov byte [0x638b08], 0xff
mov byte [0x638b09], 0xff
mov byte [0x638b0a], 0xff
mov byte [0x638b0b], 0xff
mov dword [esp + 0x80], edi
mov eax, edi
sub ecx, esi
mov byte [eax - 6], 0x64
mov byte [eax], 0x64
mov byte [eax + 6], 5
inc eax
lea edx, [ecx + eax]
cmp edx, 6
jl 0x549d3f
mov ecx, dword [0x661338]
lea eax, [esi + 0xb96c]
push eax
mov dword [esp + 0x88], eax
call fcn.00542c20
mov ecx, dword [0x661338]
push edi
call fcn.00542ba0
mov ecx, dword [0x661338]
lea eax, [esi + 0xb978]
push eax
mov dword [esp + 0x80], eax
call fcn.00542be0
push 0x30c
call fcn.005756f6
mov dword [esi + 0xb968], eax
mov dword [eax], ebx
lea eax, [esp + 0xb0]
push str.TanakaFilescharheaderInterFlag.dat
push eax
call fcn.00404300
push 1
lea ecx, [esp + 0xbc]
push 0x598194
push ecx
call fcn.00401040
mov edi, eax
add esp, 0x18
cmp edi, ebx
jne 0x549dee
push str.v_oo_v_Load_Failed__InterFlag.dat
push 0x64a78c
call fcn.005753d0
add esp, 8
mov ecx, 0x64a678
call fcn.00405d90
mov edx, dword [esi + 0xb968]
push edi
push 1
push 0x30c
push edx
call fcn.00401060
add esp, 0x10
test eax, eax
jne 0x549e25
push str.v_oo_v_Load_Failed__InterFlag.dat
push 0x64a78c
call fcn.005753d0
add esp, 8
mov ecx, 0x64a678
call fcn.00405d90
push edi
call fcn.004010e0
add esp, 4
mov ecx, 0x63b370
mov byte [0x645998], bl
push str.c000.fmh
call fcn.004143c0
mov ecx, 0x63b370
mov dword [esi + 0xb90c], eax
call fcn.00416330
mov dword [esi + 0xb910], eax
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov ecx, 0x6239d8
call fcn.0048d480
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [esi + 0x334]
call fcn.004a9960
mov edx, dword [eax]
mov ecx, 0x1a
mov dword [esi + 0x324], edx
lea edi, [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [esi + 0x328], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, esi
call fcn.00550710
mov al, byte [0x656e40]
cmp al, bl
jne 0x549eb8
mov byte [0x64f538], 0xe7
jmp 0x549ecf
cmp al, 1
jne 0x549ec4
mov byte [0x64f538], bl
jmp 0x549ecf
cmp al, 2
jne 0x549ecf
mov byte [0x64f538], 0x19
mov al, byte [esi + 1]
push ebp
cmp al, bl
jne 0x54a42a
mov ebp, dword [esp + 0x8c]
xor edx, edx
mov byte [0x645999], bl
mov byte [0x64599b], bl
mov byte [0x64599a], bl
mov byte [0x64599d], 1
mov byte [0x64599c], 1
mov byte [0x6459a2], bl
mov byte [0x6459a0], bl
mov byte [0x6459a3], 2
mov byte [0x6459a1], 2
mov dword [esp + 0x10], edx
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x549f37
xor ebp, ebp
jmp 0x549f59
cmp edx, 1
jne 0x549f43
mov ebp, 4
jmp 0x549f59
cmp edx, 2
jne 0x549f4f
mov ebp, 1
jmp 0x549f59
cmp edx, 3
jne 0x549f59
mov ebp, 5
cmp byte [esi + ebp + 2], 0x64
je 0x54a420
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [eax + esi + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54a303
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
mov dword [esp + 0x44], ebx
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
push eax
mov ecx, esi
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54a1bf
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54a310
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54a33a
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 2
jmp 0x54a3d5
cmp eax, 1
jne 0x54a349
mov dword [esp + 0x20], 0xc2200000
jmp 0x54a320
cmp eax, 2
jne 0x54a36c
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
jmp 0x54a3d5
cmp eax, 3
jne 0x54a38f
mov dword [esp + 0x20], 0x42200000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
jmp 0x54a3d5
cmp eax, 4
jne 0x54a3b3
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54a3d5
cmp eax, 5
jne 0x54a3d5
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
cmp ebp, 4
jge 0x54a3fe
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov edx, dword [esp + 0x10]
inc edx
cmp edx, 4
mov dword [esp + 0x10], edx
jl 0x549f22
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
jmp 0x54a431
mov byte [edx + esi + 0xb918], 1
jmp 0x54a402
mov ebp, dword [esp + 0x8c]
cmp byte [esi + 1], 1
jne 0x54a9bb
mov byte [0x645999], 1
mov byte [0x64599c], bl
mov byte [0x64599b], bl
mov byte [0x64599a], bl
mov byte [0x64599f], 1
mov byte [0x64599e], 1
mov byte [0x64599d], 1
mov byte [0x6459a3], 1
mov byte [0x6459a0], 1
mov byte [0x6459a4], bl
mov byte [0x6459a1], bl
mov byte [0x6459a5], 2
mov byte [0x6459a2], 2
mov al, byte [esi + 0x33c]
cmp al, 4
jne 0x54a4b2
mov al, byte [esi + 0x33d]
cmp al, 3
jg 0x54a4b2
mov byte [esi + 0x33c], al
mov byte [esi + 0x33d], 4
cmp byte [esi + 0x33f], 4
jne 0x54a4d2
mov al, byte [esi + 0x340]
cmp al, 3
jg 0x54a4d2
mov byte [esi + 0x33f], al
mov byte [esi + 0x340], 4
xor edx, edx
mov dword [esp + 0x10], edx
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54a4ed
xor ebp, ebp
jmp 0x54a521
cmp edx, 1
jne 0x54a4f6
mov ebp, edx
jmp 0x54a521
cmp edx, 2
jne 0x54a502
mov ebp, 4
jmp 0x54a521
cmp edx, 3
jne 0x54a50e
mov ebp, 2
jmp 0x54a521
cmp edx, 4
jne 0x54a51a
mov ebp, 3
jmp 0x54a521
cmp edx, 5
jne 0x54a521
mov ebp, edx
cmp byte [esi + ebp + 2], 0x64
je 0x54aa06
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54a8c7
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54a783
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54a8d4
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54a8fe
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 3
jmp 0x54a980
cmp eax, 1
jne 0x54a922
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc2040000
mov byte [esp + 0x30], 3
jmp 0x54a980
cmp eax, 2
jne 0x54a931
mov dword [esp + 0x20], 0xc2200000
jmp 0x54a8e4
cmp eax, 3
jne 0x54a940
mov dword [esp + 0x20], 0x41f00000
jmp 0x54a96c
cmp eax, 4
jne 0x54a95f
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x42040000
jmp 0x54a97c
cmp eax, 5
jne 0x54a980
mov dword [esp + 0x20], 0x42200000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
cmp ebp, 4
jge 0x54a9a9
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov edx, dword [esp + 0x10]
inc edx
cmp edx, 6
mov dword [esp + 0x10], edx
jl 0x54a4d8
cmp byte [esi + 1], 2
jne 0x54af1e
xor edx, edx
mov byte [0x645999], 2
mov byte [0x64599a], bl
mov byte [0x64599b], bl
mov byte [0x64599c], 1
mov byte [0x64599d], 1
mov byte [0x6459a3], bl
mov byte [0x6459a2], bl
mov byte [0x6459a1], bl
mov byte [0x6459a0], bl
mov dword [esp + 0x10], edx
jmp 0x54aa14
mov byte [edx + esi + 0xb918], 1
jmp 0x54a9ad
mov edx, dword [esp + 0x10]
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54aa29
xor ebp, ebp
jmp 0x54aa54
cmp edx, 1
jne 0x54aa32
mov ebp, edx
jmp 0x54aa54
cmp edx, 2
jne 0x54aa3b
mov ebp, edx
jmp 0x54aa54
cmp edx, 3
jne 0x54aa44
mov ebp, edx
jmp 0x54aa54
cmp edx, 4
jne 0x54aa4d
mov ebp, edx
jmp 0x54aa54
cmp edx, 5
jne 0x54aa54
mov ebp, edx
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54adef
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54acab
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54adfc
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54ae26
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 2
jmp 0x54aeda
cmp eax, 1
jne 0x54ae4d
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 3
jmp 0x54aeda
cmp eax, 2
jne 0x54ae70
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], bl
jmp 0x54aeda
cmp eax, 3
jne 0x54ae94
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 1
jmp 0x54aeda
cmp eax, 4
jne 0x54aeb8
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54aeda
cmp eax, 5
jne 0x54aeda
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x54aa10
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
cmp byte [esi + 1], 3
jne 0x54b472
xor edx, edx
mov byte [0x645999], 3
mov byte [0x64599a], bl
mov byte [0x64599b], 1
mov byte [0x64599c], 2
mov byte [0x6459a2], bl
mov byte [0x6459a1], bl
mov byte [0x6459a0], bl
mov dword [esp + 0x10], edx
jmp 0x54af61
mov edx, dword [esp + 0x10]
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54af76
xor ebp, ebp
jmp 0x54afa1
cmp edx, 1
jne 0x54af7f
mov ebp, edx
jmp 0x54afa1
cmp edx, 2
jne 0x54af88
mov ebp, edx
jmp 0x54afa1
cmp edx, 3
jne 0x54af91
mov ebp, edx
jmp 0x54afa1
cmp edx, 4
jne 0x54af9a
mov ebp, edx
jmp 0x54afa1
cmp edx, 5
jne 0x54afa1
mov ebp, edx
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54b33c
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54b1f8
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54b349
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54b373
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 1
jmp 0x54b427
cmp eax, 1
jne 0x54b39a
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 2
jmp 0x54b427
cmp eax, 2
jne 0x54b3bd
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], bl
jmp 0x54b427
cmp eax, 3
jne 0x54b3e1
mov dword [esp + 0x20], 0xc1200000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1200000
mov byte [esp + 0x30], 2
jmp 0x54b427
cmp eax, 4
jne 0x54b405
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54b427
cmp eax, 5
jne 0x54b427
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 3
mov dword [esp + 0x10], eax
jl 0x54af5d
mov byte [esi + 0xb91b], 1
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
cmp byte [esi + 1], 4
jne 0x54b9cc
xor edx, edx
mov byte [0x645999], 4
mov byte [0x64599a], bl
mov byte [0x64599b], 1
mov byte [0x64599c], 2
mov byte [0x64599d], 3
mov byte [0x6459a3], bl
mov byte [0x6459a2], bl
mov byte [0x6459a1], bl
mov byte [0x6459a0], bl
mov dword [esp + 0x10], edx
jmp 0x54b4c2
mov edx, dword [esp + 0x10]
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54b4d7
xor ebp, ebp
jmp 0x54b502
cmp edx, 1
jne 0x54b4e0
mov ebp, edx
jmp 0x54b502
cmp edx, 2
jne 0x54b4e9
mov ebp, edx
jmp 0x54b502
cmp edx, 3
jne 0x54b4f2
mov ebp, edx
jmp 0x54b502
cmp edx, 4
jne 0x54b4fb
mov ebp, edx
jmp 0x54b502
cmp edx, 5
jne 0x54b502
mov ebp, edx
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54b89d
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54b759
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54b8aa
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54b8d4
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 1
jmp 0x54b988
cmp eax, 1
jne 0x54b8fa
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
jmp 0x54b988
cmp eax, 2
jne 0x54b91e
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 3
jmp 0x54b988
cmp eax, 3
jne 0x54b942
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 2
jmp 0x54b988
cmp eax, 4
jne 0x54b966
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54b988
cmp eax, 5
jne 0x54b988
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x54b4be
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
cmp byte [esi + 1], 5
jne 0x54bf26
xor edx, edx
mov byte [0x645999], 0xc
mov byte [0x64599a], bl
mov byte [0x64599b], 1
mov byte [0x64599c], 2
mov byte [0x64599d], 3
mov byte [0x6459a3], bl
mov byte [0x6459a2], bl
mov byte [0x6459a1], bl
mov byte [0x6459a0], bl
mov dword [esp + 0x10], edx
jmp 0x54ba1c
mov edx, dword [esp + 0x10]
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54ba31
xor ebp, ebp
jmp 0x54ba5c
cmp edx, 1
jne 0x54ba3a
mov ebp, edx
jmp 0x54ba5c
cmp edx, 2
jne 0x54ba43
mov ebp, edx
jmp 0x54ba5c
cmp edx, 3
jne 0x54ba4c
mov ebp, edx
jmp 0x54ba5c
cmp edx, 4
jne 0x54ba55
mov ebp, edx
jmp 0x54ba5c
cmp edx, 5
jne 0x54ba5c
mov ebp, edx
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54bdf7
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54bcb3
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54be04
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54be2e
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 1
jmp 0x54bee2
cmp eax, 1
jne 0x54be54
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
jmp 0x54bee2
cmp eax, 2
jne 0x54be78
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 3
jmp 0x54bee2
cmp eax, 3
jne 0x54be9c
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 2
jmp 0x54bee2
cmp eax, 4
jne 0x54bec0
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54bee2
cmp eax, 5
jne 0x54bee2
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x54ba18
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
cmp byte [esi + 1], 6
jne 0x54c479
xor edx, edx
mov byte [0x645999], 5
mov byte [0x64599b], bl
mov byte [0x64599a], bl
mov byte [0x64599c], 1
mov byte [0x6459a2], bl
mov byte [0x6459a1], bl
mov byte [0x6459a0], bl
mov dword [esp + 0x10], edx
jmp 0x54bf68
mov edx, dword [esp + 0x10]
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54bf7d
xor ebp, ebp
jmp 0x54bfa8
cmp edx, 1
jne 0x54bf86
mov ebp, edx
jmp 0x54bfa8
cmp edx, 2
jne 0x54bf8f
mov ebp, edx
jmp 0x54bfa8
cmp edx, 3
jne 0x54bf98
mov ebp, edx
jmp 0x54bfa8
cmp edx, 4
jne 0x54bfa1
mov ebp, edx
jmp 0x54bfa8
cmp edx, 5
jne 0x54bfa8
mov ebp, edx
push ebp
mov ecx, esi
call fcn.00550160
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54c343
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54c1ff
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54c350
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54c37a
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 2
jmp 0x54c42e
cmp eax, 1
jne 0x54c3a1
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1a00000
mov byte [esp + 0x30], 2
jmp 0x54c42e
cmp eax, 2
jne 0x54c3c4
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
jmp 0x54c42e
cmp eax, 3
jne 0x54c3e8
mov dword [esp + 0x20], 0xc1200000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1200000
mov byte [esp + 0x30], 2
jmp 0x54c42e
cmp eax, 4
jne 0x54c40c
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54c42e
cmp eax, 5
jne 0x54c42e
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 3
mov dword [esp + 0x10], eax
jl 0x54bf64
mov byte [esi + 0xb91b], 1
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
cmp byte [esi + 1], 7
jne 0x54c9e8
xor edx, edx
mov byte [0x645999], 6
mov byte [0x64599c], bl
mov byte [0x64599b], bl
mov byte [0x64599a], bl
mov byte [0x64599d], 1
mov byte [0x6459a3], bl
mov byte [0x6459a2], bl
mov byte [0x6459a1], bl
mov byte [0x6459a0], bl
mov dword [esp + 0x10], edx
jmp 0x54c4c7
mov edx, dword [esp + 0x10]
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
cmp edx, ebx
rep stosd dword es:[edi], eax
jne 0x54c4dc
xor ebp, ebp
jmp 0x54c507
cmp edx, 1
jne 0x54c4e5
mov ebp, edx
jmp 0x54c507
cmp edx, 2
jne 0x54c4ee
mov ebp, edx
jmp 0x54c507
cmp edx, 3
jne 0x54c4f7
mov ebp, edx
jmp 0x54c507
cmp edx, 4
jne 0x54c500
mov ebp, edx
jmp 0x54c507
cmp edx, 5
jne 0x54c507
mov ebp, edx
push ebp
mov ecx, esi
call fcn.00550160
mov al, byte [esi + ebp + 2]
xor ecx, ecx
cmp al, 0x32
setne cl
cmp al, 0x2f
sbb edx, edx
inc edx
test edx, ecx
je 0x54c53e
and eax, 0xff
push eax
mov eax, dword [esp + 0x90]
push str.v_oo_v_Into_Fail_CharNamber__d_in_3vs1
push eax
call fcn.005753d0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov byte [esp + 0x18], al
mov cl, byte [esi + eax + 0x33c]
inc cl
mov byte [esp + 0x19], cl
mov dl, byte [esi + ebp + 2]
mov byte [eax + 0x638b06], dl
mov al, byte [esi + ebp + 2]
cmp al, 0x32
je 0x54c8d1
xor eax, eax
mov byte [esp + 0x1a], bl
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623a32]
mov dword [esp + 0x34], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623aac]
mov dword [esp + 0x38], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ade]
mov dword [esp + 0x48], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b10]
mov dword [esp + 0x4c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b42]
mov dword [esp + 0x50], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623b74]
mov dword [esp + 0x54], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623ba6]
mov dword [esp + 0x58], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623bd8]
mov dword [esp + 0x3c], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
xor eax, eax
lea edx, [ecx*2 + 0x623c0a]
mov dword [esp + 0x40], edx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
lea edx, [ecx*2 + 0x623cd3]
mov dword [esp + 0x5c], edx
mov al, byte [esi + ebp + 2]
mov ecx, esi
push eax
call fcn.00551110
fstp dword [esp + 0x1c]
mov dword [esp + 0x68], ebx
mov cl, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb87c]
push ecx
push edx
mov ecx, esi
call fcn.00547b90
mov eax, dword [esi + ebp*4 + 0xb87c]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d28]
mov byte [edx], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d29]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2a]
mov byte [edx + 2], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2b]
mov byte [edx + 3], al
xor eax, eax
mov al, byte [esi + ebp + 2]
mov edx, dword [esi + ebp*4 + 0xb8ac]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x324]
cmp al, 1
jne 0x54c78d
xor eax, eax
mov edx, dword [esi + ebp*4 + 0xb8ac]
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2d]
mov byte [edx + 5], al
mov ecx, dword [esi + ebp*4 + 0xb8ac]
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esi + ebp + 2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebp*4 + 0xb8c4]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov edx, dword [esi + ebp*4 + 0xb8c4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov al, byte [esi + ebp + 2]
push eax
push ecx
mov ecx, esi
call fcn.005509d0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax*4 + 0xb8f4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x84]
mov cl, byte [esi + ebp + 2]
mov byte [edx + eax], cl
mov cl, byte [esp + 0x19]
mov edx, dword [esp + 0x80]
dec cl
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x34]
push ecx
push eax
mov ecx, dword [0x661338]
call fcn.00542c60
jmp 0x54c8de
lea edx, [esp + 0x18]
push ebp
push edx
mov ecx, esi
call fcn.0054f140
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x54c908
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 3
jmp 0x54c9a4
cmp eax, 1
jne 0x54c92c
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1a00000
mov byte [esp + 0x30], 3
jmp 0x54c9a4
cmp eax, 2
jne 0x54c93b
mov dword [esp + 0x20], 0xc1f00000
jmp 0x54c8ee
cmp eax, 3
jne 0x54c95e
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], bl
jmp 0x54c9a4
cmp eax, 4
jne 0x54c982
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x54c9a4
cmp eax, 5
jne 0x54c9a4
mov dword [esp + 0x20], 0x41a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 4
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov ecx, dword [esp + 0x10]
mov dl, byte [esi + ebp + 2]
push ecx
push edx
mov ecx, esi
call fcn.005506a0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x54c4c3
mov byte [esi + 0xb91c], 1
mov byte [esi + 0xb91d], 1
mov eax, dword [esi + 0xb90c]
mov ecx, 0x63b370
push eax
call fcn.00416010
mov ecx, dword [esi + 0xb910]
mov dword [esi + 0xb90c], ebx
push ecx
mov ecx, 0x63b370
call fcn.004168a0
mov edx, dword [esp + 0x8c]
mov dword [esi + 0xb910], ebx
push edx
call fcn.005756eb
mov eax, dword [0x645994]
add esp, 4
and al, 0xfc
xor ecx, ecx
mov dword [0x645994], eax
mov dl, byte [esi + 0x324]
cmp dl, bl
pop ebp
setne cl
inc ecx
or ecx, eax
and ecx, 0xffffff83
mov eax, ecx
mov dword [0x645994], eax
movsx ecx, byte [esi + 0x325]
cmp ecx, 4
ja case.default.0x54ca59
jmp dword [ecx*4 + 0x54cc00]
or al, 0x40
jmp case.default.0x54ca59
or al, 4
jmp case.default.0x54ca59
or al, 8
jmp case.default.0x54ca59
or al, 0x10
jmp case.default.0x54ca59
or al, 0x20
and eax, 0xfffff87f
mov cl, al
mov dword [0x645994], eax
test cl, 2
jne 0x54ca9d
movsx ecx, byte [esi + 0x326]
sub ecx, ebx
je 0x54ca9d
dec ecx
je 0x54ca99
dec ecx
jne 0x54caa5
or ah, 1
jmp 0x54caa0
or al, 0x80
jmp 0x54caa0
or ah, 2
mov dword [0x645994], eax
cmp byte [esi + 0x327], bl
je 0x54cab2
or ah, 8
jmp 0x54cab5
and ah, 0xf7
mov dword [0x645994], eax
mov cl, byte [esi + 0x328]
cmp cl, bl
je 0x54cac9
or ah, 0x10
jmp 0x54cacc
and ah, 0xef
mov dword [0x645994], eax
mov cl, byte [esi + 0x329]
cmp cl, bl
je 0x54cae0
or ah, 0x20
jmp 0x54cae3
and ah, 0xdf
mov dword [0x645994], eax
mov cl, byte [esi + 0x32a]
cmp cl, bl
je 0x54cafe
mov cl, al
test cl, 2
jne 0x54cafe
or ah, 0x40
jmp 0x54cb01
and ah, 0xbf
mov dword [0x645994], eax
mov cl, byte [esi + 1]
cmp cl, 5
jne 0x54cb15
or eax, 0x20000
jmp 0x54cb1a
and eax, 0xfffdffff
mov dword [0x645994], eax
mov cl, byte [esi + 1]
cmp cl, 1
jne 0x54cb2e
or eax, 0x10000
jmp 0x54cb33
and eax, 0xfffeffff
mov ecx, esi
mov dword [0x645994], eax
call fcn.0054cc70
mov ecx, 0x65b178
call fcn.00479c60
cmp byte [esi + 0x32b], 1
jne 0x54cb59
mov ecx, esi
call fcn.00550230
mov edx, dword [esi + 0xb968]
push edx
call fcn.005756eb
add esp, 4
mov ecx, 0x6239d8
call fcn.0048c940
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov ecx, 0x65cc90
call fcn.0048bb20
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [0x661338]
call fcn.00542c20
mov edx, dword [esp + 0x84]
mov ecx, dword [0x661338]
push edx
call fcn.00542ba0
mov eax, dword [esp + 0x7c]
mov ecx, dword [0x661338]
push eax
call fcn.00542be0
mov ecx, dword [0x661338]
add ecx, 0x23c
push ecx
mov ecx, 0x656d30
call fcn.00450930
push 8
mov ecx, 0x656120
call fcn.004494b0
push 5
mov ecx, 0x5ab028
call fcn.00405d80
pop edi
pop esi
mov byte [0x621370], 0x21
pop ebx
add esp, 0x1a4
ret