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

Disassembly:
sub esp, 0x190
mov dword [0x63b380], 0x4765c0
mov dword [0x63b384], 0x65b178
push esi
push edi
mov esi, ecx
push 0
push 4
mov ecx, 0x65b178
call fcn.00478360
push 8
mov ecx, 0x5ab028
mov byte [0x65b17a], 1
mov dword [0x65b190], 6
call fcn.00405d80
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
mov dword [esi + 0x21a0], eax
mov dword [eax], 0
lea eax, [esp + 0x98]
push str.TanakaFilescharheaderInterFlag.dat
push eax
call fcn.00404300
push 1
lea ecx, [esp + 0xa4]
push 0x598194
push ecx
call fcn.00401040
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x550b14
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 + 0x21a0]
push edi
push 1
push 0x30c
push edx
call fcn.00401060
add esp, 0x10
test eax, eax
jne 0x550b4b
push str.v_oo_v_Load_Failed__InterFlag.dat
push 0x64a78c
call fcn.005753d0
add esp, 8
mov ecx, 0x64a678
call fcn.00405d90
push ebx
push ebp
push edi
call fcn.004010e0
add esp, 4
mov ecx, 0x63b370
mov byte [0x645998], 0
push str.c000.fmh
call fcn.004143c0
mov ecx, 0x63b370
mov dword [esi + 0x2128], eax
call fcn.00416330
mov edi, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov dword [esi + 0x212c], eax
lea eax, [esp + 0x7c]
push eax
call edi
mov ecx, 0x6239d8
call fcn.0048d740
lea ecx, [esp + 0x7c]
push ecx
call edi
mov ecx, esi
call fcn.005524c0
xor eax, eax
mov ecx, 0x1a
lea edi, [esp + 0x14]
push eax
rep stosd dword es:[edi], eax
push 0x18
call fcn.00401000
push 0
push 0x18
mov dword [esi + 0x20c8], eax
call fcn.00401000
push 0
push 6
mov dword [esi + 0x20cc], eax
call fcn.00401000
push 0
push 6
mov dword [esi + 0x20f8], eax
call fcn.00401000
push 0
push 6
mov dword [esi + 0x20fc], eax
call fcn.00401000
push 0
push 6
mov dword [esi + 0x2110], eax
call fcn.00401000
add esp, 0x30
mov ecx, esi
mov dword [esi + 0x2114], eax
call fcn.005526b0
mov byte [0x64599a], 0
mov byte [0x64599b], 1
mov byte [0x6459a1], 0
mov byte [0x6459a0], 0
xor ebx, ebx
mov edi, dword [esi + ebx*4 + 0x20c8]
mov ecx, 6
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esi + ebx*4 + 0x20f8]
test ebx, ebx
mov byte [edx], 0xff
mov eax, dword [esi + ebx*4 + 0x20f8]
mov byte [eax + 1], 0xff
mov ecx, dword [esi + ebx*4 + 0x20f8]
mov byte [ecx + 4], 0xff
mov edx, dword [esi + ebx*4 + 0x20f8]
mov byte [edx + 2], 0xff
mov eax, dword [esi + ebx*4 + 0x20f8]
mov byte [eax + 3], 0xff
mov ecx, dword [esi + ebx*4 + 0x20f8]
mov byte [ecx + 5], 0xff
mov edx, dword [esi + ebx*4 + 0x2110]
mov byte [edx], 0xff
mov eax, dword [esi + ebx*4 + 0x2110]
mov byte [eax + 1], 0xff
mov ecx, dword [esi + ebx*4 + 0x2110]
mov byte [ecx + 4], 0xff
mov edx, dword [esi + ebx*4 + 0x2110]
mov byte [edx + 2], 0xff
mov eax, dword [esi + ebx*4 + 0x2110]
mov byte [eax + 3], 0xff
mov ecx, dword [esi + ebx*4 + 0x2110]
mov byte [ecx + 5], 0xff
jne 0x550cd3
mov al, byte [esi + 0x14e]
jmp 0x550ce1
movsx edx, byte [esi + 0x14c]
mov al, byte [edx + esi + 0x150]
test ebx, ebx
mov byte [esp + 0x10], al
mov byte [esp + 0x14], bl
jne 0x550cfb
mov cl, byte [esi + 0x14f]
inc cl
mov byte [esp + 0x15], cl
jmp 0x550d00
mov byte [esp + 0x15], 5
cmp al, 0x32
mov byte [ebx + 0x638b06], al
je 0x550ecb
mov ebp, dword [esp + 0x10]
mov byte [esp + 0x16], 0
mov eax, ebp
push ebp
and eax, 0xff
mov dword [esp + 0x44], 0
lea edi, [eax + eax*2]
lea edi, [edi + edi*8]
shl edi, 4
sub edi, eax
shl edi, 1
lea edx, [edi + 0x623a32]
lea ecx, [edi + 0x623ade]
mov dword [esp + 0x34], edx
lea eax, [edi + 0x623aac]
mov dword [esp + 0x48], ecx
lea edx, [edi + 0x623b10]
lea ecx, [edi + 0x623b74]
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], edx
lea eax, [edi + 0x623b42]
mov dword [esp + 0x54], ecx
lea edx, [edi + 0x623ba6]
lea ecx, [edi + 0x623c0a]
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], edx
lea eax, [edi + 0x623bd8]
mov dword [esp + 0x40], ecx
lea edx, [edi + 0x623cd3]
mov ecx, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x5c], edx
call fcn.00551110
mov eax, dword [esi + ebx*4 + 0x20c8]
push ebp
fstp dword [esp + 0x1c]
push eax
mov ecx, esi
mov dword [esp + 0x6c], 0
call fcn.00547b90
mov ecx, dword [esi + ebx*4 + 0x20c8]
mov edx, dword [esi + ebx*4 + 0x20f8]
mov al, byte [edi + 0x623d28]
mov dword [esp + 0x68], ecx
mov byte [edx], al
mov ecx, dword [esi + ebx*4 + 0x20f8]
mov dl, byte [edi + 0x623d29]
mov byte [ecx + 1], dl
mov eax, dword [esi + ebx*4 + 0x20f8]
mov cl, byte [edi + 0x623d2a]
mov byte [eax + 2], cl
mov edx, dword [esi + ebx*4 + 0x20f8]
mov al, byte [edi + 0x623d2b]
mov byte [edx + 3], al
mov ecx, dword [esi + ebx*4 + 0x20f8]
mov dl, byte [edi + 0x623d2c]
mov byte [ecx + 4], dl
mov al, byte [esi + 0x144]
cmp al, 1
jne 0x550e2f
mov eax, dword [esi + ebx*4 + 0x20f8]
mov cl, byte [edi + 0x623d2d]
mov byte [eax + 5], cl
mov edx, dword [esi + ebx*4 + 0x20f8]
mov eax, dword [esi + ebx*4 + 0x2110]
mov cl, byte [edi + 0x623d22]
mov dword [esp + 0x74], edx
mov dword [esp + 0x6c], 0
mov byte [eax], cl
mov edx, dword [esi + ebx*4 + 0x2110]
mov al, byte [edi + 0x623d23]
push ebp
push ebx
mov byte [edx + 1], al
mov ecx, dword [esi + ebx*4 + 0x2110]
mov dl, byte [edi + 0x623d24]
mov byte [ecx + 2], dl
mov eax, dword [esi + ebx*4 + 0x2110]
mov cl, byte [edi + 0x623d25]
mov byte [eax + 3], cl
mov edx, dword [esi + ebx*4 + 0x2110]
mov al, byte [edi + 0x623d26]
mov byte [edx + 4], al
mov ecx, dword [esi + ebx*4 + 0x2110]
mov dl, byte [edi + 0x623d27]
mov byte [ecx + 5], dl
mov eax, dword [esi + ebx*4 + 0x2110]
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.00552640
mov ecx, dword [esi + ebx*4 + 0x2138]
push ebx
mov dword [esp + 0x64], ecx
push ebp
mov ecx, esi
call fcn.00552450
jmp 0x550ed7
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.00551510
test ebx, ebx
jne 0x550efa
mov dword [esp + 0x1c], 0xc1f00000
mov dword [esp + 0x20], 0x41400000
mov dword [esp + 0x24], 0xc1f00000
mov byte [esp + 0x2c], 1
jmp 0x550f1c
cmp ebx, 1
jne 0x550f1c
mov dword [esp + 0x1c], 0x41f00000
mov dword [esp + 0x20], 0x41400000
mov dword [esp + 0x24], 0x41f00000
mov byte [esp + 0x2c], 0
lea eax, [esp + 0x14]
mov ecx, 0x64f558
mov dword [0x650d60], eax
call fcn.00431f00
inc ebx
cmp ebx, 2
jl 0x550c35
mov ecx, dword [esi + 0x2128]
mov byte [esi + 0x2152], 1
push ecx
mov ecx, 0x63b370
mov byte [esi + 0x2153], 1
mov byte [esi + 0x2154], 1
mov byte [esi + 0x2155], 1
call fcn.00416010
mov edx, dword [esi + 0x212c]
mov ecx, 0x63b370
push edx
mov dword [esi + 0x2128], 0
call fcn.004168a0
mov dword [esi + 0x212c], 0
mov eax, dword [0x645994]
and al, 0xfc
xor ecx, ecx
mov dword [0x645994], eax
mov dl, byte [esi + 0x144]
test dl, dl
setne cl
inc ecx
pop ebp
or ecx, eax
pop ebx
and ecx, 0xffffff83
mov eax, ecx
mov dword [0x645994], eax
movsx ecx, byte [esi + 0x145]
cmp ecx, 4
ja case.default.0x550fbf
jmp dword [ecx*4 + 0x5510f4]
or al, 0x40
jmp case.default.0x550fbf
or al, 4
jmp case.default.0x550fbf
or al, 8
jmp case.default.0x550fbf
or al, 0x10
jmp case.default.0x550fbf
or al, 0x20
and eax, 0xfffff87f
mov cl, al
mov dword [0x645994], eax
test cl, 2
jne 0x551004
movsx ecx, byte [esi + 0x146]
sub ecx, 0
je 0x551004
dec ecx
je 0x551000
dec ecx
jne 0x55100c
or ah, 1
jmp 0x551007
or al, 0x80
jmp 0x551007
or ah, 2
mov dword [0x645994], eax
mov cl, byte [esi + 0x147]
test cl, cl
je 0x55101b
or ah, 8
jmp 0x55101e
and ah, 0xf7
mov dword [0x645994], eax
mov cl, byte [esi + 0x148]
test cl, cl
je 0x551032
or ah, 0x10
jmp 0x551035
and ah, 0xef
mov dword [0x645994], eax
mov cl, byte [esi + 0x149]
test cl, cl
je 0x551049
or ah, 0x20
jmp 0x55104c
and ah, 0xdf
mov dword [0x645994], eax
mov cl, byte [esi + 0x14a]
test cl, cl
je 0x551067
mov cl, al
test cl, 2
jne 0x551067
or ah, 0x40
jmp 0x55106a
and ah, 0xbf
and eax, 0xfffcffff
mov ecx, esi
mov dword [0x645994], eax
mov byte [0x645999], 0
call fcn.005513e0
mov ecx, 0x65b178
call fcn.00479c60
cmp byte [esi + 0x14b], 1
jne 0x55109c
mov ecx, esi
call fcn.005520a0
mov edx, dword [esi + 0x21a0]
push edx
call fcn.005756eb
add esp, 4
mov ecx, 0x6239d8
call fcn.0048c940
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov ecx, 0x65cc90
call fcn.0048bb20
push 8
mov ecx, 0x656120
call fcn.004494b0
push 5
mov ecx, 0x5ab028
call fcn.00405d80
pop edi
mov byte [0x621370], 0x21
pop esi
add esp, 0x190
ret