Function at 0x402f60
Capabilities:
Create thread
Get memory capacity

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
push edi
push 0x424158
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, 0x64
mov ebx, 0x34ca257d
sub eax, dword [0x42415c]
mov ebp, 0x802c0f25
mov dword [esp + 0x28], eax
mov eax, dword [0x424168]
mul ebx
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, dword [0x424168]
mul ebp
mov edi, eax
mov ebp, edx
mov eax, dword [0x42416c]
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [0x42416c]
mov edx, 0x802c0f25
mul edx
add ecx, esi
mov dword [esp + 0x2c], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x2c]
adc ebp, 0
mov dword [esp + 0x38], edi
xor eax, eax
add ebx, ebp
adc eax, eax
add ecx, ebx
adc edx, eax
shrd ecx, edx, 0x13
cmp dword [0x422004], 0
mov dword [esp + 0x2c], ecx
je 0x403a5c
cmp ecx, dword [0x4247ac]
je 0x403a4a
mov ebp, dword [esp + 0x28]
push 0x418a64
push ebp
push ecx
push 0x424050
push 0x64
push 0x4241c8
mov dword [0x4247ac], ecx
call fcn.00408280
add esp, 0x18
xor eax, eax
cmp eax, 0x12c
jae 0x403acd
mov byte [eax + 0x424680], 0
inc eax
cmp eax, 0xfe
jle 0x403022
mov ebx, dword [0x424154]
xor esi, esi
mov edi, dword [0x424048]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
test ebx, ebx
jne 0x40352b
mov ecx, dword [0x424168]
mov edx, 0x34ca257d
mov ebx, dword [0x42416c]
add ecx, 0x7fd40
mov eax, ecx
mov ebp, 0x802c0f25
adc ebx, esi
mul edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, ecx
mov ecx, 0x34ca257d
mul ebp
mov edi, eax
mov ebp, edx
mov eax, ebx
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x38]
mov edx, 0x802c0f25
mul edx
add ecx, esi
mov dword [esp + 0x14], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x14]
adc ebp, 0
mov dword [esp + 0x38], edi
xor eax, eax
add ebx, ebp
mov ebp, 0x802c0f25
adc eax, eax
add ecx, ebx
mov ebx, dword [0x42417c]
adc edx, eax
shrd ecx, edx, 0x13
shr edx, 0x13
mov dword [esp + 0x14], ecx
mov dword [0x424168], ecx
mov ecx, dword [0x424178]
add ecx, 0x7fd40
mov dword [esp + 0x10], edx
mov dword [0x42416c], edx
mov eax, ecx
adc ebx, 0
mov edx, 0x34ca257d
mul edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, ecx
mov ecx, 0x34ca257d
mul ebp
mov edi, eax
mov ebp, edx
mov eax, ebx
mul ecx
mov ebx, edx
mov ecx, eax
mov eax, dword [esp + 0x38]
mov edx, 0x802c0f25
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
add ebx, ebp
adc eax, eax
add ecx, ebx
adc edx, eax
shrd ecx, edx, 0x13
shr edx, 0x13
mov dword [0x424178], ecx
mov ecx, dword [0x424160]
mov dword [0x42417c], edx
mov ebx, dword [0x424164]
add ecx, 0x7fd40
mov eax, ecx
mov edx, 0x34ca257d
adc ebx, 0
mov ebp, 0x802c0f25
mul edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, ecx
mov ecx, 0x34ca257d
mul ebp
mov edi, eax
mov ebp, edx
mov eax, ebx
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x38]
mov edx, 0x802c0f25
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
add ebx, ebp
mov ebp, 0x346dc5d6
adc eax, eax
add ecx, ebx
mov ebx, 0x3886594b
adc edx, eax
mov eax, dword [esp + 0x14]
shrd ecx, edx, 0x13
shr edx, 0x13
mov dword [0x424164], edx
mul ebx
mov dword [0x424160], ecx
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, dword [esp + 0x14]
mul ebp
mov edi, eax
mov ebp, edx
mov eax, dword [esp + 0x10]
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0x346dc5d6
mul edx
add ecx, esi
mov esi, 0x2710
adc ebx, 0
add edi, ecx
mov dword [esp + 0x38], edi
adc ebp, 0
xor ecx, ecx
add ebx, ebp
mov ebp, dword [esp + 0x14]
adc ecx, ecx
add eax, ebx
mov ebx, dword [esp + 0x10]
adc edx, ecx
shrd eax, edx, 0xb
shr edx, 0xb
mov dword [esp + 0x38], eax
mov eax, edx
mul esi
mov ecx, eax
mov eax, dword [esp + 0x38]
mul esi
add ecx, edx
sub ebp, eax
mov dword [esp + 0x24], ebp
sbb ebx, ecx
mov dword [esp + 0x20], ebx
mov eax, ebp
mov ecx, 0x1a9fbe77
mul ecx
mov edi, 0x624dd2f
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, ebp
mul edi
mov edi, eax
mov ebp, edx
mov eax, ebx
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x20]
mov edx, 0x624dd2f
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
add ebx, ebp
mov ebp, 0x624dd2f
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x24]
adc edx, eax
mov eax, dword [esp + 0x20]
sub ebx, ecx
sbb eax, edx
shrd ebx, eax, 1
shr eax, 1
add ebx, ecx
adc eax, edx
shrd ebx, eax, 9
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov ebx, 0x1a9fbe77
mul ebx
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, dword [esp + 0x14]
mul ebp
mov edi, eax
mov ebp, edx
mov eax, dword [esp + 0x10]
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0x624dd2f
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
mov edi, 0x3e8
add ebx, ebp
mov ebp, dword [esp + 0x14]
mov esi, ebp
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x10]
adc edx, eax
sub esi, ecx
mov eax, ebx
sbb eax, edx
shrd esi, eax, 1
shr eax, 1
add esi, ecx
adc eax, edx
shrd esi, eax, 9
shr eax, 9
mul edi
mov ecx, eax
mov eax, esi
mul edi
mov edi, 0x47ae147a
add ecx, edx
sub ebp, eax
mov eax, ebp
mov dword [esp + 0x20], ebp
sbb ebx, ecx
mov ecx, 0xe147ae15
mul ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, ebp
mul edi
mov edi, eax
mov ebp, edx
mov eax, ebx
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x1c]
mov edx, 0x47ae147a
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
add ebx, ebp
mov ebp, 0x47ae147a
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x20]
adc edx, eax
mov eax, dword [esp + 0x1c]
sub ebx, ecx
sbb eax, edx
shrd ebx, eax, 1
shr eax, 1
add ebx, ecx
adc eax, edx
shrd ebx, eax, 6
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
mov ebx, 0xe147ae15
mul ebx
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, dword [esp + 0x14]
mul ebp
mov edi, eax
mov ebp, edx
mov eax, dword [esp + 0x10]
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0x47ae147a
mul edx
add ecx, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
add ebx, ebp
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x10]
adc edx, eax
sub esi, ecx
mov eax, ebx
sbb eax, edx
mov edi, 0x64
shrd esi, eax, 1
shr eax, 1
add esi, ecx
adc eax, edx
shrd esi, eax, 6
shr eax, 6
mul edi
mov ecx, eax
mov eax, esi
mul edi
mov edi, dword [esp + 0x14]
add ecx, edx
sub edi, eax
mov eax, edi
sbb ebx, ecx
mov ecx, 0xcccccccd
mul ecx
lea ebp, [ecx - 1]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, edi
mul ebp
mov edi, eax
mov ebp, edx
mov eax, ebx
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x38]
mov edx, 0xcccccccc
mul edx
add ecx, esi
mov dword [esp + 0x18], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x18]
adc ebp, 0
mov dword [esp + 0x38], edi
xor eax, eax
add ebx, ebp
adc eax, eax
add ecx, ebx
mov ebx, 0xcccccccd
adc edx, eax
mov eax, dword [esp + 0x14]
shrd ecx, edx, 3
mul ebx
lea ebp, [ebx - 1]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, dword [esp + 0x14]
mul ebp
mov edi, eax
mov ebp, edx
mov eax, dword [esp + 0x10]
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0xcccccccc
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x38]
adc ebp, 0
mov dword [esp + 0x30], edi
xor eax, eax
add ebx, ebp
adc eax, eax
add ecx, ebx
adc edx, eax
shrd ecx, edx, 3
mov edx, dword [esp + 0x14]
lea eax, [ecx + ecx*4]
add eax, eax
mov ecx, dword [esp + 0x18]
sub edx, eax
mov ebx, dword [0x424154]
mov esi, dword [esp + 0x20]
mov edi, dword [0x424048]
mov dword [esp + 0x14], edx
jmp 0x403583
cmp ebp, 0x64
mov eax, 0x63
cmovae ebp, eax
mov eax, 0xcccccccd
mul ebp
mov dword [esp + 0x28], ebp
mov ecx, edx
mov edx, ebp
shr ecx, 3
mov dword [esp + 0x18], ecx
lea eax, [ecx + ecx*4]
add eax, eax
sub edx, eax
mov dword [esp + 0x14], edx
cmp edi, 2
jne 0x403583
mov word [0x4246d6], 0x4040
mov byte [0x4246cf], 0x40
mov byte [0x4246c6], 4
mov byte [0x4246be], 0x40
mov word [0x4246b6], 0x4040
sub edi, 0
je 0x4037eb
sub edi, 1
je 0x4037e2
sub edi, 1
jne 0x4037f5
xor eax, eax
mov ebp, 0x4246eb
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ebp
test esi, esi
jne 0x4036b1
cmp dword [esp + 0x24], esi
jne 0x4036b1
mov esi, eax
mov edi, eax
and esi, 1
shr edi, 1
shl esi, 2
test ecx, ecx
je 0x40367b
mov dl, byte [edi + ecx*4 + 0x418420]
mov ecx, esi
shl dl, cl
mov cl, dl
mov al, dl
and al, 0x81
shr cl, 3
and cl, 8
or cl, al
mov al, dl
and al, 0x20
shr dl, 2
add al, al
shr cl, 1
and dl, 4
mov byte [esp + 0x10], cl
or al, dl
mov ecx, esi
mov byte [esp + 0x11], al
mov edx, ebp
mov ax, word [esp + 0x10]
sub edx, ebx
mov ebx, dword [esp + 0x14]
mov word [edx - 1], ax
mov dl, byte [edi + ebx*4 + 0x418420]
shl dl, cl
mov ecx, 0x4246ec
sub ecx, dword [0x424154]
mov bl, dl
sub ecx, dword [esp + 0x1c]
mov dh, dl
shr dh, 3
mov al, dl
and al, 0x81
shr dl, 2
and bl, 0x20
and dh, 8
or dh, al
add bl, bl
and dl, 4
shr dh, 1
or bl, dl
mov byte [esp + 0x10], dh
mov al, bl
mov byte [esp + 0x11], al
mov al, dh
shr al, 4
mov byte [ecx], al
mov al, bl
shl dh, 4
shr al, 4
or dh, al
shl bl, 4
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
jmp 0x4037ae
mov dl, byte [edi + edx*4 + 0x418420]
mov ecx, esi
shl dl, cl
mov cl, dl
mov al, dl
shr cl, 3
and al, 0x81
and cl, 8
or cl, al
mov al, dl
shr cl, 1
and al, 0x20
shr dl, 2
add al, al
mov byte [esp + 0x10], cl
and dl, 4
mov ecx, ebp
or al, dl
sub ecx, ebx
jmp 0x4037a2
mov ebp, eax
mov edi, eax
shr ebp, 1
and edi, 1
shl edi, 2
mov ecx, edi
mov dl, byte [ebp + esi*4 + 0x418420]
mov esi, 0x4246e8
sub esi, dword [0x424154]
shl dl, cl
sub esi, dword [esp + 0x1c]
mov cl, dl
mov bl, dl
shr cl, 3
mov al, dl
and cl, 8
shr al, 2
and dl, 0x81
or cl, dl
and al, 4
and bl, 0x20
shr cl, 1
add bl, bl
or bl, al
mov al, cl
shr al, 4
mov byte [esi], al
mov al, bl
shr al, 4
shl bl, 4
mov byte [esi + 2], bl
mov ebx, dword [esp + 0x14]
shl cl, 4
or cl, al
mov byte [esi + 1], cl
mov ecx, edi
mov bl, byte [ebp + ebx*4 + 0x418420]
mov esi, 0x4246ed
sub esi, dword [0x424154]
sub esi, dword [esp + 0x1c]
shl bl, cl
mov dl, bl
mov ah, bl
shr dl, 3
and ah, 0x20
and dl, 8
mov al, bl
shr al, 2
and bl, 0x81
and al, 4
or dl, bl
shr dl, 1
add ah, ah
or ah, al
mov al, dl
shr al, 4
mov byte [esi], al
mov al, ah
shr al, 4
shl dl, 4
or dl, al
shl ah, 4
mov byte [esi + 2], ah
mov eax, dword [esp + 0x18]
mov byte [esi + 1], dl
mov dl, byte [ebp + eax*4 + 0x418420]
shl dl, cl
mov cl, dl
mov al, dl
shr cl, 3
and al, 0x81
and cl, 8
or cl, al
mov al, dl
and al, 0x20
shr dl, 2
shr cl, 1
add al, al
and dl, 4
mov byte [esp + 0x10], cl
or al, dl
mov ebp, dword [esp + 0x38]
mov ecx, ebp
sub ecx, dword [0x424154]
mov byte [esp + 0x11], al
mov ax, word [esp + 0x10]
mov word [ecx], ax
mov eax, dword [esp + 0x30]
sub ebp, 8
add dword [esp + 0x1c], 8
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ebp
cmp ebp, 0x4246ab
jle 0x4037f5
mov ecx, dword [esp + 0x18]
mov ebx, dword [0x424154]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
jmp 0x4035b1
push edx
push ecx
call fcn.00405ed0
jmp 0x4037f2
push edx
push ecx
call fcn.00406710
add esp, 8
mov edi, dword [esp + 0x28]
mov eax, edi
shr eax, 0x1f
mov dword [0x424690], 0x33333303
mov dword [0x424694], 0x30333333
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [0x424688], 0x33333303
mov dword [0x42468c], 0x30333333
addsd xmm0, qword [eax*8 + 0x419ea0]
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [0x419e3c]
jbe 0x403852
mov byte [0x424690], 6
mov byte [0x424688], 6
comiss xmm0, dword [0x419e44]
jbe 0x403869
mov byte [0x424691], 0x63
mov byte [0x424689], 0x63
comiss xmm0, dword [0x419e48]
jbe 0x403880
mov byte [0x424691], 0x66
mov byte [0x424689], 0x66
comiss xmm0, dword [0x419e50]
jbe 0x403897
mov byte [0x424692], 0x73
mov byte [0x42468a], 0x73
comiss xmm0, dword [0x419e54]
jbe 0x4038ae
mov byte [0x424692], 0x77
mov byte [0x42468a], 0x77
comiss xmm0, dword [0x419e58]
jbe 0x4038c5
mov byte [0x424693], 0x73
mov byte [0x42468b], 0x73
comiss xmm0, dword [0x419e60]
jbe 0x4038dc
mov byte [0x424693], 0x77
mov byte [0x42468b], 0x77
comiss xmm0, dword [0x419e64]
jbe 0x4038f3
mov byte [0x424694], 0x43
mov byte [0x42468c], 0x43
comiss xmm0, dword [0x419e6c]
jbe 0x40390a
mov byte [0x424694], 0x44
mov byte [0x42468c], 0x44
comiss xmm0, dword [0x419e70]
jbe 0x403921
mov byte [0x424695], 0x43
mov byte [0x42468d], 0x43
comiss xmm0, dword [0x419e74]
jbe 0x403938
mov byte [0x424695], 0x44
mov byte [0x42468d], 0x44
comiss xmm0, dword [0x419e7c]
jbe 0x40394f
mov byte [0x424696], 0x43
mov byte [0x42468e], 0x43
comiss xmm0, dword [0x419e80]
jbe 0x403966
mov byte [0x424696], 0x44
mov byte [0x42468e], 0x44
comiss xmm0, dword [0x419e88]
jbe 0x40397d
mov byte [0x424697], 0x40
mov byte [0x42468f], 0x40
push dword [0x42456c]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov ebp, eax
push 0
push 0x4183d8
push 0x424700
push 4
push 0x4183d8
push ebp
mov dword [esp + 0x50], ebp
call esi
push 0
push 0x4183d8
push 0x424680
push 4
push 0x4183d8
push ebp
mov ebx, eax
call esi
mov esi, eax
mov dword [esp + 0x40], 1
lea eax, [esp + 0x40]
mov dword [esp + 0x44], 0
push eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
call dword [sym.imp.USER32.dll_CreateIconIndirect]
mov ebp, eax
test ebp, ebp
je 0x403a20
push 0x4241b0
push 1
mov dword [0x4241c4], ebp
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x403a19
push 0x4241b0
push eax
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push ebp
call dword [sym.imp.USER32.dll_DestroyIcon]
mov ebp, dword [sym.imp.GDI32.dll_DeleteObject]
test esi, esi
je 0x403a2d
push esi
call ebp
test ebx, ebx
je 0x403a34
push ebx
call ebp
push dword [esp + 0x38]
push dword [0x42456c]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [esp + 0x2c]
jmp 0x403a4e
mov edi, dword [esp + 0x28]
cmp edi, dword [0x42457c]
je 0x403a5c
mov dword [0x42457c], edi
cmp dword [0x42419c], 0
je 0x403ac0
cmp ecx, dword [0x4241a0]
jge 0x403ac0
push 0
push str.RAMbooster
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
jne 0x403ac0
imul eax, dword [0x424198], 0xffa80
cmp dword [0x422004], 0
cdq
mov dword [0x424570], eax
mov eax, 0x49
mov dword [0x424574], edx
mov word [0x422008], ax
je 0x403ac0
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 0x404000
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x44
ret
call fcn.004083df
int3