Function at 0x405701
Capabilities:
Create thread
Get memory capacity

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push 0x422010
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [0x422020]
xor edx, edx
mov esi, 0xffa80
xor ebp, ebp
div esi
push 0x64
pop ebx
sub ebx, dword [0x422014]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
cmp dword [0x4207dc], ebp
je 0x405b0c
cmp eax, dword [0x4219fc]
je 0x405afe
push 0x41c740
push ebx
push eax
mov ecx, 0x41cddc
mov dword [0x4219fc], eax
call fcn.004020bf
push eax
push 0x64
push 0x421c58
call fcn.00406080
add esp, 0x18
xor edx, edx
mov eax, edx
cmp eax, 0x12c
jae 0x405b6c
mov byte [eax + 0x421a08], dl
inc eax
cmp eax, 0xfe
jle 0x405775
mov ebp, dword [0x42200c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
push edi
test ebp, ebp
jne 0x40588c
mov ecx, dword [0x422020]
mov eax, dword [0x422024]
add ecx, 0x7fd40
push edx
push esi
adc eax, edx
push eax
push ecx
call fcn.004156b0
mov ecx, dword [0x422030]
mov edi, eax
mov eax, dword [0x422034]
add ecx, 0x7fd40
push ebp
push 0xffa80
adc eax, ebp
mov dword [0x422020], edi
push eax
mov esi, edx
push ecx
mov dword [0x422024], esi
call fcn.004156b0
mov ecx, dword [0x422018]
mov dword [0x422030], eax
add ecx, 0x7fd40
mov eax, dword [0x42201c]
push ebp
push 0xffa80
adc eax, ebp
mov dword [0x422034], edx
push eax
push ecx
call fcn.004156b0
push ebp
push 0x2710
push esi
push edi
mov dword [0x422018], eax
mov dword [0x42201c], edx
call fcn.00415720
push ebp
push 0x3e8
push edx
push eax
call fcn.004156b0
push ebp
push 0x3e8
push esi
push edi
mov dword [esp + 0x30], eax
call fcn.00415720
push ebp
push 0x64
push edx
push eax
call fcn.004156b0
push ebp
push 0x64
push esi
push edi
mov dword [esp + 0x2c], eax
call fcn.00415720
push ebp
push 0xa
push edx
push eax
call fcn.004156b0
push ebp
push 0xa
push esi
push edi
mov dword [esp + 0x24], eax
call fcn.00415720
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x4058da
push 0x63
pop eax
cmp ebx, 0x64
mov word [0x421a5e], 0x5050
push 0xa
cmovae ebx, eax
mov byte [0x421a57], 0x50
xor edx, edx
mov dword [esp + 0x28], ebx
pop ecx
mov eax, ebx
mov byte [0x421a4e], 5
div ecx
mov ecx, ebx
mov byte [0x421a46], 0x50
mov edx, eax
mov word [0x421a3e], 0x5050
imul eax, edx, 0xa
mov dword [esp + 0x14], edx
sub ecx, eax
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x18]
mov edi, 0x421a73
xor esi, esi
sub edi, ebp
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x405932
cmp dword [esp + 0x20], eax
jne 0x405932
lea ecx, [esp + 0x10]
push esi
test edx, edx
je 0x405929
call fcn.004056c0
pop ecx
push esi
push esi
mov ax, word [eax]
lea ecx, [esp + 0x18]
mov edx, ebx
mov word [edi - 1], ax
call fcn.004056c0
pop ecx
mov ecx, 0x421a74
mov edx, eax
sub ecx, ebp
call fcn.00405692
jmp 0x405980
mov edx, ebx
call fcn.004056c0
jmp 0x40597a
push esi
push esi
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004056c0
pop ecx
mov ecx, 0x421a70
mov edx, eax
sub ecx, ebp
call fcn.00405692
pop ecx
push esi
push esi
mov edx, ebx
lea ecx, [esp + 0x18]
call fcn.004056c0
pop ecx
mov ecx, 0x421a75
mov edx, eax
sub ecx, ebp
call fcn.00405692
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push esi
call fcn.004056c0
pop ecx
mov ax, word [eax]
mov word [edi], ax
mov edx, dword [esp + 0x18]
inc esi
sub edi, 8
pop ecx
cmp esi, 8
jl 0x4058e7
mov ebx, dword [esp + 0x24]
mov eax, ebx
shr eax, 0x1f
pop edi
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x41db30]
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [0x41dad8]
jbe 0x4059c8
mov byte [0x421a18], 6
mov byte [0x421a10], 6
comiss xmm0, dword [0x41dae0]
jbe 0x4059df
mov byte [0x421a19], 0x60
mov byte [0x421a11], 0x60
comiss xmm0, dword [0x41dae4]
jbe 0x4059f6
mov byte [0x421a19], 0x66
mov byte [0x421a11], 0x66
comiss xmm0, dword [0x41daec]
jbe 0x405a0d
mov byte [0x421a1a], 0x70
mov byte [0x421a12], 0x70
comiss xmm0, dword [0x41daf0]
jbe 0x405a24
mov byte [0x421a1a], 0x77
mov byte [0x421a12], 0x77
comiss xmm0, dword [0x41daf4]
jbe 0x405a3b
mov byte [0x421a1b], 0x70
mov byte [0x421a13], 0x70
comiss xmm0, dword [0x41dafc]
jbe 0x405a52
mov byte [0x421a1b], 0x77
mov byte [0x421a13], 0x77
comiss xmm0, dword [0x41db00]
jbe 0x405a69
mov byte [0x421a1c], 0x50
mov byte [0x421a14], 0x50
comiss xmm0, dword [0x41db08]
jbe 0x405a80
mov byte [0x421a1c], 0x55
mov byte [0x421a14], 0x55
comiss xmm0, dword [0x41db0c]
jbe 0x405a97
mov byte [0x421a1d], 0x50
mov byte [0x421a15], 0x50
comiss xmm0, dword [0x41db10]
jbe 0x405aae
mov byte [0x421a1d], 0x55
mov byte [0x421a15], 0x55
comiss xmm0, dword [0x41db18]
jbe 0x405ac5
mov byte [0x421a1e], 0x50
mov byte [0x421a16], 0x50
comiss xmm0, dword [0x41db1c]
jbe 0x405adc
mov byte [0x421a1e], 0x55
mov byte [0x421a16], 0x55
comiss xmm0, dword [0x41db24]
jbe 0x405af3
mov byte [0x421a1f], 0x50
mov byte [0x421a17], 0x50
call fcn.004055ce
mov eax, dword [esp + 0x24]
xor ebp, ebp
cmp ebx, dword [0x421a00]
je 0x405b0c
mov dword [0x421a00], ebx
cmp dword [0x422004], 0
je 0x405b62
cmp eax, dword [0x422000]
jge 0x405b62
push ebp
push str.RAMbooster
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
jne 0x405b62
imul eax, dword [0x422008], 0xffa80
cmp dword [0x4207dc], 0
push 0x49
mov dword [0x421a04], eax
pop eax
mov word [0x4207d8], ax
je 0x405b62
lea eax, [esp + 0x24]
push eax
push ebp
push ebp
push 0x401e68
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop esi
xor eax, eax
pop ebp
inc eax
pop ebx
add esp, 0x1c
ret
call fcn.004061de
int3