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

Disassembly:
sub esp, 0x19c
mov dword [0x63b380], 0x4765c0
mov dword [0x63b384], 0x65b178
push ebp
push esi
xor ebp, ebp
push edi
mov esi, ecx
push ebp
push 4
mov ecx, 0x65b178
call fcn.00478360
push 7
mov ecx, 0x5ab028
mov byte [0x65b17a], 1
mov dword [0x65b190], 6
call fcn.00405d80
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.00547a00
push str.c000.fmh
mov ecx, 0x63b370
call fcn.004143c0
mov ecx, 0x63b370
mov dword [esi + 0x4ca4], eax
call fcn.00416330
mov dword [esi + 0x4ca8], eax
push 0x30c
mov byte [0x638b06], 0xff
mov byte [0x638b07], 0xff
mov byte [0x638b08], 0xff
mov byte [0x638b09], 0xff
mov byte [0x638b0a], 0xff
mov byte [0x638b0b], 0xff
call fcn.005756f6
lea ecx, [esp + 0xa8]
push str.TanakaFilescharheaderInterFlag.dat
mov dword [esi + 0x4cfc], eax
push ecx
mov dword [eax], ebp
call fcn.00404300
push 1
lea edx, [esp + 0xb4]
push 0x598194
push edx
call fcn.00401040
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x5466e3
push str.v_oo_v_Load_Failed__InterFlag.dat
push 0x64a78c
call fcn.005753d0
add esp, 8
mov ecx, 0x64a678
call fcn.00405d90
mov eax, dword [esi + 0x4cfc]
push edi
push 1
push 0x30c
push eax
call fcn.00401060
add esp, 0x10
test eax, eax
jne 0x54671a
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
mov edi, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
add esp, 4
lea ecx, [esp + 0x84]
mov byte [0x645998], 1
push ecx
call edi
mov ecx, 0x6239d8
call fcn.0048d5d0
lea edx, [esp + 0x84]
push edx
call edi
mov ecx, esi
call fcn.00549ad0
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
mov al, byte [0x656e40]
test al, al
jne 0x546774
mov byte [0x64f538], 0xe7
jmp 0x54678c
cmp al, 1
jne 0x546781
mov byte [0x64f538], 0
jmp 0x54678c
cmp al, 2
jne 0x54678c
mov byte [0x64f538], 0x19
mov ecx, dword [esi + 0x49b0]
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.004a9960
mov ecx, dword [eax]
mov dword [esi + 0x4b48], ecx
mov edx, dword [eax + 4]
mov al, byte [esi + 0x18]
test al, al
mov dword [esi + 0x4b4c], edx
jne 0x546bb8
mov byte [0x645999], al
mov byte [0x64599b], al
mov byte [0x64599a], al
mov byte [0x64599d], 1
mov byte [0x64599c], 1
mov byte [0x6459a2], al
mov byte [0x6459a0], al
mov byte [0x6459a3], 2
mov byte [0x6459a1], 2
xor ebx, ebx
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
cmp byte [esp + ebx + 0x10], 0x64
jae 0x546ba1
push ebx
mov ecx, esi
call fcn.00548be0
mov dl, byte [esp + ebx + 0x10]
mov al, byte [ebx + esi + 0xdd]
cmp dl, 0x32
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], al
mov byte [ebx + 0x638b06], dl
je 0x546ab3
mov ecx, edx
push edx
and ecx, 0xff
mov byte [esp + 0x1e], 0
mov dword [esp + 0x48], ebp
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*8]
shl eax, 4
sub eax, ecx
shl eax, 1
lea ecx, [eax + 0x623a32]
mov dword [esp + 0x38], ecx
lea ecx, [eax + 0x623aac]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x623ade]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + 0x623b10]
mov dword [esp + 0x50], ecx
lea ecx, [eax + 0x623b42]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 0x623b74]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 0x623ba6]
mov dword [esp + 0x5c], ecx
lea ecx, [eax + 0x623bd8]
mov dword [esp + 0x40], ecx
lea ecx, [eax + 0x623c0a]
mov dword [esp + 0x44], ecx
lea eax, [eax + 0x623cd3]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.00551110
mov cl, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c28]
fstp dword [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x70], ebp
call fcn.00547b90
mov eax, dword [esi + ebx*4 + 0x4c28]
mov edx, dword [esi + ebx*4 + 0x4c58]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esp + ebx + 0x10]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 + 0x4b48]
cmp al, 1
jne 0x5469b8
xor eax, eax
mov edx, dword [esi + ebx*4 + 0x4c58]
mov al, byte [esp + ebx + 0x10]
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 + ebx*4 + 0x4c58]
xor eax, eax
mov al, byte [esp + ebx + 0x10]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebp
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov al, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c70]
push eax
push ebx
mov ecx, esi
mov dword [esp + 0x7c], edx
call fcn.00549c30
mov ecx, dword [esi + ebx*4]
mov dword [esp + 0x64], ecx
jmp 0x546ac0
lea edx, [esp + 0x18]
push ebx
push edx
mov ecx, esi
call fcn.00548cb0
cmp ebx, ebp
jne 0x546ae6
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 2
jmp 0x546b6e
cmp ebx, 1
jne 0x546af5
mov dword [esp + 0x20], 0xc2200000
jmp 0x546acc
cmp ebx, 2
jne 0x546b19
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 0
jmp 0x546b6e
cmp ebx, 3
jne 0x546b28
mov dword [esp + 0x20], 0x42200000
jmp 0x546b02
cmp ebx, 4
jne 0x546b4c
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x546b6e
cmp ebx, 5
jne 0x546b6e
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, ebx
and ecx, 0x80000001
jns 0x546b90
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x546ba9
mov dl, byte [esp + ebx + 0x10]
push ebx
push edx
mov ecx, esi
call fcn.00549a60
jmp 0x546ba9
mov byte [ebx + esi + 0x4cac], 1
inc ebx
cmp ebx, 4
jl 0x5467f0
jmp 0x54782f
cmp al, 1
jne 0x547017
mov byte [0x645999], al
mov byte [0x64599c], 0
mov byte [0x64599b], 0
mov byte [0x64599a], 0
mov byte [0x64599f], al
mov byte [0x64599e], al
mov byte [0x64599d], al
mov byte [0x6459a3], al
mov byte [0x6459a0], al
mov byte [0x6459a4], 0
mov byte [0x6459a1], 0
mov byte [0x6459a5], 2
mov byte [0x6459a2], 2
mov al, byte [esi + 0xdd]
cmp al, 5
jne 0x546c34
mov al, byte [esi + 0xde]
test al, al
je 0x546c34
cmp al, 4
jg 0x546c34
mov byte [esi + 0xdd], al
mov byte [esi + 0xde], 5
cmp byte [esi + 0xe0], 5
jne 0x546c58
mov al, byte [esi + 0xe1]
test al, al
je 0x546c58
cmp al, 4
jg 0x546c58
mov byte [esi + 0xe0], al
mov byte [esi + 0xe1], 5
xor ebx, ebx
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
cmp byte [esp + ebx + 0x10], 0x64
jae 0x547000
push ebx
mov ecx, esi
call fcn.00548be0
mov dl, byte [esp + ebx + 0x10]
mov al, byte [esi + ebx + 0xdd]
cmp dl, 0x32
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], al
mov byte [ebx + 0x638b06], dl
je 0x546f19
mov ecx, edx
push edx
and ecx, 0xff
mov byte [esp + 0x1e], 0
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*8]
shl eax, 4
sub eax, ecx
shl eax, 1
lea ecx, [eax + 0x623a32]
mov dword [esp + 0x38], ecx
lea ecx, [eax + 0x623aac]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x623ade]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + 0x623b10]
mov dword [esp + 0x50], ecx
lea ecx, [eax + 0x623b42]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 0x623b74]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 0x623ba6]
mov dword [esp + 0x5c], ecx
lea ecx, [eax + 0x623bd8]
mov dword [esp + 0x40], ecx
lea ecx, [eax + 0x623c0a]
mov dword [esp + 0x44], ecx
lea eax, [eax + 0x623cd3]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.00551110
mov cl, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c28]
fstp dword [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x70], ebp
call fcn.00547b90
mov eax, dword [esi + ebx*4 + 0x4c28]
mov edx, dword [esi + ebx*4 + 0x4c58]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esp + ebx + 0x10]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
mov edx, dword [esi + ebx*4 + 0x4c58]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x4b48]
cmp al, 1
jne 0x546e1e
xor eax, eax
mov edx, dword [esi + ebx*4 + 0x4c58]
mov al, byte [esp + ebx + 0x10]
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 + ebx*4 + 0x4c58]
xor eax, eax
mov al, byte [esp + ebx + 0x10]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebp
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov al, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c70]
push eax
push ebx
mov ecx, esi
mov dword [esp + 0x7c], edx
call fcn.00549c30
mov ecx, dword [esi + ebx*4]
mov dword [esp + 0x64], ecx
jmp 0x546f26
lea edx, [esp + 0x18]
push ebx
push edx
mov ecx, esi
call fcn.00548cb0
cmp ebx, ebp
jne 0x546f4c
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 3
jmp 0x546fcf
cmp ebx, 1
jne 0x546f70
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc2040000
mov byte [esp + 0x30], 3
jmp 0x546fcf
cmp ebx, 2
jne 0x546f7f
mov dword [esp + 0x20], 0xc2200000
jmp 0x546f32
cmp ebx, 3
jne 0x546f8e
mov dword [esp + 0x20], 0x41f00000
jmp 0x546fba
cmp ebx, 4
jne 0x546fad
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x42040000
jmp 0x546fca
cmp ebx, 5
jne 0x546fcf
mov dword [esp + 0x20], 0x42200000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 0
lea eax, [esp + 0x18]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
mov eax, ebx
mov ecx, 3
cdq
idiv ecx
cmp edx, 2
je 0x547008
mov dl, byte [esp + ebx + 0x10]
push ebx
push edx
mov ecx, esi
call fcn.00549a60
jmp 0x547008
mov byte [ebx + esi + 0x4cac], 1
inc ebx
cmp ebx, 6
jl 0x546c5a
jmp 0x54783d
cmp al, 2
jne 0x547422
mov byte [0x645999], 3
mov byte [0x64599a], 0
mov byte [0x64599b], 1
mov byte [0x64599c], al
mov byte [0x6459a2], 0
mov byte [0x6459a1], 0
mov byte [0x6459a0], 0
xor ebx, ebx
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
push ebx
rep stosd dword es:[edi], eax
mov ecx, esi
call fcn.00548be0
mov dl, byte [esp + ebx + 0x10]
mov al, byte [esi + ebx + 0xdd]
cmp dl, 0x32
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], al
mov byte [ebx + 0x638b06], dl
je 0x547304
mov ecx, edx
push edx
and ecx, 0xff
mov byte [esp + 0x1e], 0
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*8]
shl eax, 4
sub eax, ecx
shl eax, 1
lea ecx, [eax + 0x623a32]
mov dword [esp + 0x38], ecx
lea ecx, [eax + 0x623aac]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x623ade]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + 0x623b10]
mov dword [esp + 0x50], ecx
lea ecx, [eax + 0x623b42]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 0x623b74]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 0x623ba6]
mov dword [esp + 0x5c], ecx
lea ecx, [eax + 0x623bd8]
mov dword [esp + 0x40], ecx
lea ecx, [eax + 0x623c0a]
mov dword [esp + 0x44], ecx
lea eax, [eax + 0x623cd3]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.00551110
mov cl, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c28]
fstp dword [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x70], ebp
call fcn.00547b90
mov eax, dword [esi + ebx*4 + 0x4c28]
mov edx, dword [esi + ebx*4 + 0x4c58]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esp + ebx + 0x10]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
mov edx, dword [esi + ebx*4 + 0x4c58]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x4b48]
cmp al, 1
jne 0x547209
xor eax, eax
mov edx, dword [esi + ebx*4 + 0x4c58]
mov al, byte [esp + ebx + 0x10]
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 + ebx*4 + 0x4c58]
xor eax, eax
mov al, byte [esp + ebx + 0x10]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebp
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov al, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c70]
push eax
push ebx
mov ecx, esi
mov dword [esp + 0x7c], edx
call fcn.00549c30
mov ecx, dword [esi + ebx*4]
mov dword [esp + 0x64], ecx
jmp 0x547311
lea edx, [esp + 0x18]
push ebx
push edx
mov ecx, esi
call fcn.00548cb0
cmp ebx, ebp
jne 0x547337
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 1
jmp 0x5473ec
cmp ebx, 1
jne 0x54735e
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 2
jmp 0x5473ec
cmp ebx, 2
jne 0x547382
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 0
jmp 0x5473ec
cmp ebx, 3
jne 0x5473a6
mov dword [esp + 0x20], 0xc1200000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1200000
mov byte [esp + 0x30], 2
jmp 0x5473ec
cmp ebx, 4
jne 0x5473ca
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x5473ec
cmp ebx, 5
jne 0x5473ec
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 cl, byte [esp + ebx + 0x10]
push ebx
push ecx
mov ecx, esi
call fcn.00549a60
inc ebx
cmp ebx, 3
jl 0x547050
mov byte [esi + 0x4caf], 1
jmp 0x54782f
cmp al, 3
jne 0x54783d
mov byte [0x645999], 4
mov byte [0x64599a], 0
mov byte [0x64599b], 1
mov byte [0x64599c], 2
mov byte [0x64599d], al
mov byte [0x6459a3], 0
mov byte [0x6459a2], 0
mov byte [0x6459a1], 0
mov byte [0x6459a0], 0
xor ebx, ebx
mov ecx, 0x1a
xor eax, eax
lea edi, [esp + 0x18]
push ebx
rep stosd dword es:[edi], eax
mov ecx, esi
call fcn.00548be0
mov dl, byte [esi + ebx + 0xdd]
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], dl
mov dl, byte [esp + ebx + 0x10]
cmp dl, 0x32
mov byte [ebx + 0x638b06], dl
je 0x54771d
mov ecx, edx
push edx
and ecx, 0xff
mov byte [esp + 0x1e], 0
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*8]
shl eax, 4
sub eax, ecx
shl eax, 1
lea ecx, [eax + 0x623a32]
mov dword [esp + 0x38], ecx
lea ecx, [eax + 0x623aac]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 0x623ade]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + 0x623b10]
mov dword [esp + 0x50], ecx
lea ecx, [eax + 0x623b42]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 0x623b74]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 0x623ba6]
mov dword [esp + 0x5c], ecx
lea ecx, [eax + 0x623bd8]
mov dword [esp + 0x40], ecx
lea ecx, [eax + 0x623c0a]
mov dword [esp + 0x44], ecx
lea eax, [eax + 0x623cd3]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.00551110
mov cl, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c28]
fstp dword [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x70], ebp
call fcn.00547b90
mov eax, dword [esi + ebx*4 + 0x4c28]
mov edx, dword [esi + ebx*4 + 0x4c58]
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esp + ebx + 0x10]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c58]
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 [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
mov edx, dword [esi + ebx*4 + 0x4c58]
shl ecx, 4
sub ecx, eax
mov al, byte [ecx*2 + 0x623d2c]
mov byte [edx + 4], al
mov al, byte [esi + 0x4b48]
cmp al, 1
jne 0x547622
xor eax, eax
mov edx, dword [esi + ebx*4 + 0x4c58]
mov al, byte [esp + ebx + 0x10]
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 + ebx*4 + 0x4c58]
xor eax, eax
mov al, byte [esp + ebx + 0x10]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebp
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d22]
mov byte [eax], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d23]
mov byte [eax + 1], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d24]
mov byte [eax + 2], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d25]
mov byte [eax + 3], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d26]
mov byte [eax + 4], cl
xor eax, eax
mov al, byte [esp + ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
shl edx, 4
sub edx, eax
mov eax, dword [esi + ebx*4 + 0x4c70]
mov cl, byte [edx*2 + 0x623d27]
mov byte [eax + 5], cl
mov al, byte [esp + ebx + 0x10]
mov edx, dword [esi + ebx*4 + 0x4c70]
push eax
push ebx
mov ecx, esi
mov dword [esp + 0x7c], edx
call fcn.00549c30
mov ecx, dword [esi + ebx*4]
mov dword [esp + 0x64], ecx
jmp 0x54772a
lea edx, [esp + 0x18]
push ebx
push edx
mov ecx, esi
call fcn.00548cb0
cmp ebx, ebp
jne 0x547750
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 1
jmp 0x547805
cmp ebx, 1
jne 0x547777
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 0
jmp 0x547805
cmp ebx, 2
jne 0x54779b
mov dword [esp + 0x20], 0x41f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0xc1f00000
mov byte [esp + 0x30], 3
jmp 0x547805
cmp ebx, 3
jne 0x5477bf
mov dword [esp + 0x20], 0xc1f00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0x41f00000
mov byte [esp + 0x30], 2
jmp 0x547805
cmp ebx, 4
jne 0x5477e3
mov dword [esp + 0x20], 0xc1a00000
mov dword [esp + 0x24], 0x41400000
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], 5
jmp 0x547805
cmp ebx, 5
jne 0x547805
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 cl, byte [esp + ebx + 0x10]
push ebx
push ecx
mov ecx, esi
call fcn.00549a60
inc ebx
cmp ebx, 4
jl 0x547469
mov byte [esi + 0x4cb0], 1
mov byte [esi + 0x4cb1], 1
mov edx, dword [esi + 0x4ca4]
mov ecx, 0x63b370
push edx
call fcn.00416010
mov eax, dword [esi + 0x4ca8]
mov ecx, 0x63b370
push eax
mov dword [esi + 0x4ca4], ebp
call fcn.004168a0
mov dword [esi + 0x4ca8], ebp
mov eax, dword [0x645994]
and al, 0xfc
xor ecx, ecx
mov dword [0x645994], eax
mov bl, byte [esi + 0x4b48]
test bl, bl
setne cl
inc ecx
pop ebx
or ecx, eax
and ecx, 0xffffff83
mov eax, ecx
mov dword [0x645994], eax
movsx ecx, byte [esi + 0x4b49]
cmp ecx, 4
ja case.default.0x54789e
jmp dword [ecx*4 + 0x5479e8]
or al, 0x40
jmp case.default.0x54789e
or al, 4
jmp case.default.0x54789e
or al, 8
jmp case.default.0x54789e
or al, 0x10
jmp case.default.0x54789e
or al, 0x20
and eax, 0xfffff87f
mov cl, al
mov dword [0x645994], eax
test cl, 2
jne 0x5478e2
movsx ecx, byte [esi + 0x4b4a]
sub ecx, ebp
je 0x5478e2
dec ecx
je 0x5478de
dec ecx
jne 0x5478ea
or ah, 1
jmp 0x5478e5
or al, 0x80
jmp 0x5478e5
or ah, 2
mov dword [0x645994], eax
mov cl, byte [esi + 0x4b4b]
test cl, cl
je 0x5478f9
or ah, 8
jmp 0x5478fc
and ah, 0xf7
mov dword [0x645994], eax
mov cl, byte [esi + 0x4b4c]
test cl, cl
je 0x547910
or ah, 0x10
jmp 0x547913
and ah, 0xef
mov dword [0x645994], eax
mov cl, byte [esi + 0x4b4d]
test cl, cl
je 0x547927
or ah, 0x20
jmp 0x54792a
and ah, 0xdf
mov dword [0x645994], eax
mov cl, byte [esi + 0x4b4e]
test cl, cl
je 0x547945
mov cl, al
test cl, 2
jne 0x547945
or ah, 0x40
jmp 0x547948
and ah, 0xbf
mov dword [0x645994], eax
mov cl, byte [esi + 0x18]
cmp cl, 1
jne 0x54795c
or eax, 0x10000
jmp 0x547961
and eax, 0xfffeffff
and eax, 0xfffdffff
mov ecx, esi
mov dword [0x645994], eax
call fcn.00547df0
mov ecx, 0x65b178
call fcn.00479c60
cmp byte [esi + 0x4b4f], 1
jne 0x54798c
mov ecx, esi
call fcn.005496c0
mov edx, dword [esi + 0x4cfc]
push edx
call fcn.005756eb
add esp, 4
mov ecx, 0x65cc90
call fcn.0048bb20
mov ecx, 0x6239d8
call fcn.0048c940
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
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 ebp
add esp, 0x19c
ret