Function at 0x410208
Capabilities:
Check os version
Get common file path
Get disk information
Get disk size
Get memory capacity
Get session user name

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xcc
push 0
push 0
dec ecx
jne 0x410210
push ebx
push esi
push edi
mov edi, 0x41ab78
xor eax, eax
push ebp
push 0x411721
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
mov edx, 0x411738
call fcn.0040325c
mov dword [ebp - 0xdc], 0x94
mov eax, 0x41ab68
mov edx, 0x411744
call fcn.0040325c
lea eax, [ebp - 0xdc]
push eax
call sub.kernel32.dll_GetVersionExA
mov ebx, dword [ebp - 0xcc]
cmp ebx, 2
jne 0x410278
lea eax, [ebp - 8]
mov edx, 0x41175c
call fcn.004032a0
jmp 0x41029c
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5b4]
call fcn.00404900
mov ecx, dword [ebp - 0x5b4]
lea eax, [ebp - 8]
mov edx, 0x411768
call fcn.004033d8
cmp byte [0x41aba8], 0
je 0x4102b4
lea eax, [ebp - 4]
mov edx, 0x411778
call fcn.004032a0
jmp 0x4102c1
lea eax, [ebp - 4]
mov edx, 0x411788
call fcn.004032a0
mov eax, 0x41ab68
mov edx, 0x411798
call fcn.0040325c
mov eax, dword [ebp - 0xd8]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5b8]
call fcn.00404900
push dword [ebp - 0x5b8]
push 0x411830
mov eax, dword [ebp - 0xd4]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5bc]
call fcn.00404900
push dword [ebp - 0x5bc]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040344c
mov eax, dword [ebp - 0xc]
mov edx, 0x41183c
call fcn.004034d8
jne 0x410334
lea eax, [ebp - 4]
mov edx, 0x411848
call fcn.004032a0
lea eax, [ebp - 0x18]
lea edx, [ebp - 0xc8]
mov ecx, 0x80
call fcn.00403374
mov eax, 0x41ab68
mov edx, 0x411858
call fcn.0040325c
lea eax, [ebp - 0x5c0]
mov ecx, 0x4118c4
mov edx, dword [0x41ad90]
call fcn.004033d8
mov edx, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0x18]
call fcn.004034d8
jne 0x41038e
lea eax, [ebp - 0x18]
mov edx, 0x4118d0
call fcn.004032a0
jmp 0x4104ab
lea eax, [ebp - 0x5c4]
mov ecx, 0x4118dc
mov edx, dword [0x41ad90]
call fcn.004033d8
mov edx, dword [ebp - 0x5c4]
mov eax, dword [ebp - 0x18]
call fcn.004034d8
jne 0x4103c6
lea eax, [ebp - 0x18]
mov edx, 0x4118e8
call fcn.004032a0
jmp 0x4104ab
lea eax, [ebp - 0x5c8]
mov ecx, 0x4118f4
mov edx, dword [0x41ad90]
call fcn.004033d8
mov edx, dword [ebp - 0x5c8]
mov eax, dword [ebp - 0x18]
call fcn.004034d8
jne 0x4103fe
lea eax, [ebp - 0x18]
mov edx, 0x411900
call fcn.004032a0
jmp 0x4104ab
lea eax, [ebp - 0x5cc]
mov ecx, 0x41190c
mov edx, dword [0x41ad90]
call fcn.004033d8
mov edx, dword [ebp - 0x5cc]
mov eax, dword [ebp - 0x18]
call fcn.004034d8
jne 0x410433
lea eax, [ebp - 0x18]
mov edx, 0x411918
call fcn.004032a0
jmp 0x4104ab
lea eax, [ebp - 0x5d0]
mov ecx, 0x411924
mov edx, dword [0x41ad90]
call fcn.004033d8
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x18]
call fcn.004034d8
jne 0x410468
lea eax, [ebp - 0x18]
mov edx, 0x411930
call fcn.004032a0
jmp 0x4104ab
lea eax, [ebp - 0x5d4]
mov ecx, 0x41193c
mov edx, dword [0x41ad90]
call fcn.004033d8
mov edx, dword [ebp - 0x5d4]
mov eax, dword [ebp - 0x18]
call fcn.004034d8
jne 0x41049d
lea eax, [ebp - 0x18]
mov edx, 0x411948
call fcn.004032a0
jmp 0x4104ab
lea eax, [ebp - 0x18]
mov edx, dword [0x41ad90]
call fcn.004032a0
mov eax, dword [ebp - 0xd0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5d8]
call fcn.00404900
mov ecx, dword [ebp - 0x5d8]
lea eax, [ebp - 0x10]
mov edx, 0x411954
call fcn.004033d8
push dword [ebp - 4]
push 0x411964
push dword [ebp - 0xc]
push 0x411970
push dword [ebp - 0x18]
push 0x411970
push dword [ebp - 0x10]
push 0x411970
lea eax, [ebp - 0x14]
mov edx, 8
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x41197c
call fcn.0040325c
push dword [edi]
push dword [ebp - 8]
push 0x411738
push dword [ebp - 4]
push 0x411964
push dword [ebp - 0xc]
push 0x411738
push dword [ebp - 0x10]
push 0x411738
push dword [ebp - 0x18]
push 0x411738
push 0x4119d8
push dword [0x41ab34]
push 0x411738
mov eax, edi
mov edx, 0xe
call fcn.0040344c
push 0xfa
lea eax, [ebp - 0x56f]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
mov eax, 0x41ab68
mov edx, 0x4119ec
call fcn.0040325c
push dword [edi]
push 0x411a34
lea eax, [ebp - 0x5dc]
lea edx, [ebp - 0x56f]
mov ecx, 0xfb
call fcn.00403374
push dword [ebp - 0x5dc]
push 0x411738
mov eax, edi
mov edx, 4
call fcn.0040344c
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 4]
push eax
mov ecx, 0x411a48
mov edx, 0x411a5c
mov eax, 0x80000001
call fcn.00405e40
push dword [edi]
push 0x411a80
push dword [ebp - 4]
push 0x411738
mov eax, edi
mov edx, 4
call fcn.0040344c
push dword [ebp - 0x14]
push dword [ebp - 4]
push 0x411970
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.0040344c
push dword [edi]
push int.00411a94
push dword [0x41ab30]
push 0x411738
mov eax, edi
mov edx, 4
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x411aa8
call fcn.0040325c
push dword [ebp - 0x14]
push 0x411b80
push dword [0x41ab30]
push 0x411970
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.0040344c
mov dword [ebp - 0x44], 0x32
mov eax, 0x41ab68
mov edx, 0x411b8c
call fcn.0040325c
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x56f]
push eax
call sub.advapi32.dll_GetUserNameA
push dword [edi]
push 0x411c2c
lea eax, [ebp - 0x5e0]
lea edx, [ebp - 0x56f]
mov ecx, 0xfb
call fcn.00403374
push dword [ebp - 0x5e0]
push 0x411738
mov eax, edi
mov edx, 4
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x411c3c
call fcn.0040325c
push dword [ebp - 0x14]
push 0x411cfc
lea eax, [ebp - 0x5e4]
lea edx, [ebp - 0x56f]
mov ecx, 0xfb
call fcn.00403374
push dword [ebp - 0x5e4]
push 0x411970
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.0040344c
lea eax, [ebp - 4]
mov edx, 0x411d0c
call fcn.004032a0
mov eax, 0x41ab68
mov edx, 0x411d30
call fcn.0040325c
lea eax, [ebp - 8]
mov ecx, 0x411d78
mov edx, dword [ebp - 4]
call fcn.004033d8
mov eax, 0x41ab68
mov edx, 0x411d94
call fcn.0040325c
mov eax, dword [0x4192d4]
push eax
mov ecx, 0x411de0
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00405d8c
lea edx, [ebp - 0xc]
call fcn.004048e0
mov eax, dword [ebp - 0xc]
call fcn.0040338c
cmp eax, 3
jge 0x41076e
push 0
push 0x100000
call fcn.00405530
call fcn.00403aa0
push edx
push eax
lea eax, [ebp - 0xc]
call fcn.00404900
push dword [ebp - 0x14]
push 0x411df0
push dword [ebp - 0xc]
push 0x411970
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.0040344c
push dword [edi]
push 0x411e00
push 0x411e0c
push dword [ebp - 0xc]
push 0x411e1c
push 0x411738
push 0x411e2c
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x5e8]
push eax
mov ecx, 0x411e40
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x5e8]
push 0x411738
push 0x411e5c
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x5ec]
push eax
mov ecx, 0x411e74
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x5ec]
push 0x411738
push 0x411e88
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x5f0]
push eax
mov ecx, 0x411ea0
mov edx, dword [ebp - 8]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x5f0]
push 0x411738
push 0x411ebc
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x5f4]
push eax
mov ecx, 0x411ed4
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x5f4]
push 0x411738
push 0x411ef0
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x5f8]
push eax
mov ecx, 0x411f04
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x5f8]
push 0x411738
push 0x411f1c
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x5fc]
push eax
mov ecx, 0x411f38
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x5fc]
push 0x411738
push 0x411f54
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0x600]
push eax
mov ecx, 0x411f70
mov edx, dword [ebp - 4]
mov eax, 0x80000002
call fcn.00405e40
push dword [ebp - 0x600]
push 0x411738
mov eax, edi
mov edx, 0x1b
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x411f88
call fcn.0040325c
lea eax, [ebp - 4]
mov edx, 0x41202c
call fcn.004032a0
xor esi, esi
lea edx, [ebp - 0x10]
mov eax, esi
call fcn.004048e0
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x604]
mov ecx, dword [ebp - 0x10]
mov edx, 0x41203c
call fcn.004033d8
mov ecx, dword [ebp - 0x604]
mov edx, 0x412054
mov eax, 0x80000002
call fcn.00405e40
mov eax, dword [ebp - 0xc]
call fcn.0040338c
test eax, eax
jle 0x4109a0
push dword [edi]
push dword [ebp - 4]
push dword [ebp - 0xc]
push 0x411738
mov eax, edi
mov edx, 4
call fcn.0040344c
mov eax, dword [0x4192d4]
push eax
push 0x400
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x608]
mov ecx, dword [ebp - 0x10]
mov edx, 0x41207c
call fcn.004033d8
mov ecx, dword [ebp - 0x608]
mov edx, 0x412098
mov eax, 0x80000002
call fcn.00405e40
mov eax, dword [ebp - 0xc]
call fcn.0040338c
test eax, eax
jle 0x4109fc
push dword [edi]
push dword [ebp - 4]
push dword [ebp - 0xc]
push 0x411738
mov eax, edi
mov edx, 4
call fcn.0040344c
inc esi
cmp esi, 7
jne 0x41093a
mov eax, 0x41ab68
mov edx, 0x4120c4
call fcn.0040325c
mov eax, dword [0x4192d4]
push eax
mov ecx, dword [0x41ad30]
mov edx, dword [0x41ad14]
mov eax, 0x80000002
call fcn.00405d8c
lea edx, [ebp - 0x10]
call fcn.004048e0
push dword [0x41ad30]
push 0x41213c
push dword [ebp - 0x10]
push 0x411738
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.0040344c
mov dword [ebp - 0x5b0], 0x20
lea eax, [ebp - 0x5b0]
push eax
call sub.kernel32.dll_GlobalMemoryStatus
mov eax, dword [ebp - 0x5a8]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 4]
call fcn.00404900
push dword [ebp - 0x14]
push 0x412148
push dword [ebp - 4]
push 0x411970
push dword [0x41ab34]
push 0x411970
lea eax, [ebp - 0x14]
mov edx, 6
call fcn.0040344c
push dword [edi]
push 0x411e00
push 0x412158
push 0x411738
push 0x412168
push dword [ebp - 4]
push 0x412178
push 0x411738
push 0x412184
mov eax, dword [ebp - 0x5ac]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x60c]
call fcn.00404900
push dword [ebp - 0x60c]
push 0x412198
push 0x411738
push 0x4121a4
mov eax, dword [ebp - 0x5a4]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x610]
call fcn.00404900
push dword [ebp - 0x610]
push 0x412178
push 0x411738
push 0x411e00
push 0x4121b8
push 0x411738
push 0x4121d0
mov eax, dword [ebp - 0x5a0]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x614]
call fcn.00404900
push dword [ebp - 0x614]
push 0x412178
push 0x411738
push 0x4121a4
mov eax, dword [ebp - 0x59c]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x618]
call fcn.00404900
push dword [ebp - 0x618]
push 0x412178
push 0x411738
push 0x4121e8
mov eax, dword [ebp - 0x598]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x61c]
call fcn.00404900
push dword [ebp - 0x61c]
push 0x412178
push 0x411738
push 0x412204
mov eax, dword [ebp - 0x594]
shr eax, 0x14
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x620]
call fcn.00404900
push dword [ebp - 0x620]
push 0x412178
push 0x411738
push 0x411738
push dword [0x41ad8c]
push dword [0x41ab44]
push 0x411738
push dword [ebp - 0x10]
mov eax, edi
mov edx, 0x28
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x411d94
call fcn.0040325c
lea eax, [ebp - 0x26c]
push eax
push 0x101
mov eax, dword [0x41929c]
mov eax, dword [eax]
call eax
push 0xff
lea eax, [ebp - 0x56f]
push eax
mov eax, dword [0x4192bc]
mov eax, dword [eax]
call eax
lea eax, [ebp - 0x56f]
push eax
mov eax, dword [0x4192f4]
mov eax, dword [eax]
call eax
mov esi, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push dword [eax]
mov eax, dword [0x419290]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 4]
call fcn.00403338
push dword [edi]
push 0x412224
push dword [ebp - 4]
mov eax, edi
mov edx, 3
call fcn.0040344c
push dword [ebp - 0x14]
push 0x412238
push dword [ebp - 4]
push 0x411970
push 0x412244
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x412254
call fcn.0040325c
mov eax, dword [0x4192ec]
mov eax, dword [eax]
call eax
push dword [edi]
push 0x411738
push 0x411738
push 0x412324
push 0x411738
mov eax, edi
mov edx, 5
call fcn.0040344c
mov bl, 0x42
lea eax, [ebp - 0x624]
mov edx, ebx
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x624]
lea eax, [ebp - 0x628]
call fcn.004027dc
mov edx, 0x412340
lea eax, [ebp - 0x628]
mov cl, 2
call fcn.004027ac
lea edx, [ebp - 0x628]
lea eax, [ebp - 0x62c]
call fcn.004027dc
mov edx, 0x412344
lea eax, [ebp - 0x62c]
mov cl, 3
call fcn.004027ac
lea edx, [ebp - 0x62c]
lea eax, [ebp - 0x1c]
call fcn.00403368
mov eax, dword [ebp - 0x1c]
call fcn.0040358c
mov esi, eax
push esi
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 6
ja case.0x410d62.0
jmp dword [eax*4 + 0x410d69]
lea eax, [ebp - 4]
mov edx, 0x412350
call fcn.004032a0
lea eax, [ebp - 8]
mov edx, 0x412360
call fcn.004032a0
jmp 0x410e98
lea eax, [ebp - 4]
mov edx, 0x41236c
call fcn.004032a0
lea eax, [ebp - 8]
mov edx, 0x412384
call fcn.004032a0
mov eax, 0x41ab68
mov edx, 0x412390
call fcn.0040325c
jmp 0x410e98
mov eax, 0x41ab68
mov edx, 0x412448
call fcn.0040325c
lea eax, [ebp - 4]
mov edx, 0x4124d4
call fcn.004032a0
lea eax, [ebp - 8]
mov edx, 0x4124e8
call fcn.004032a0
jmp 0x410e98
lea eax, [ebp - 4]
mov edx, 0x4124f8
call fcn.004032a0
lea eax, [ebp - 8]
mov edx, 0x412508
call fcn.004032a0
mov eax, 0x41ab68
mov edx, 0x412514
call fcn.0040325c
push dword [edi]
push 0x411738
push 0x411e00
push dword [ebp - 0x1c]
push dword [ebp - 4]
push 0x411738
mov eax, edi
mov edx, 6
call fcn.0040344c
lea eax, [ebp - 4]
call fcn.00403208
jmp 0x410e98
lea eax, [ebp - 4]
mov edx, 0x4125c8
call fcn.004032a0
mov eax, 0x41ab68
mov edx, 0x4125dc
call fcn.0040325c
lea eax, [ebp - 8]
mov edx, 0x412644
call fcn.004032a0
mov eax, 0x41ab68
mov edx, 0x412654
call fcn.0040325c
jmp 0x410e98
lea eax, [ebp - 4]
call fcn.00403208
mov eax, 0x41ab68
mov edx, 0x4126c8
call fcn.0040325c
mov eax, dword [ebp - 4]
call fcn.0040338c
dec eax
jl 0x4110d1
push dword [ebp - 0x14]
lea eax, [ebp - 0x630]
mov edx, ebx
call fcn.00403328
push dword [ebp - 0x630]
push 0x41213c
push dword [ebp - 8]
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.0040344c
push dword [edi]
push 0x411e00
push dword [ebp - 0x1c]
push 0x411738
push 0x412784
push dword [ebp - 4]
push 0x411738
mov eax, edi
mov edx, 7
call fcn.0040344c
push 0x64
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x104
lea eax, [ebp - 0x370]
push eax
push esi
call sub.kernel32.dll_GetVolumeInformationA
test eax, eax
je 0x410ff8
push dword [edi]
push 0x412794
lea eax, [ebp - 0x634]
lea edx, [ebp - 0x370]
mov ecx, 0x104
call fcn.00403374
push dword [ebp - 0x634]
push 0x411738
push 0x4127a4
lea eax, [ebp - 0x638]
lea edx, [ebp - 0x474]
mov ecx, 0x104
call fcn.00403374
push dword [ebp - 0x638]
push 0x411738
push 0x4127bc
mov eax, dword [ebp - 0x20]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x63c]
call fcn.00404900
push dword [ebp - 0x63c]
push 0x411738
push 0x4127d8
mov eax, dword [ebp - 0x24]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x640]
call fcn.00404900
push dword [ebp - 0x640]
push 0x411738
push 0x4127fc
mov eax, dword [ebp - 0x28]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x644]
call fcn.00404900
push dword [ebp - 0x644]
push 0x411738
mov eax, edi
mov edx, 0x10
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x41280c
call fcn.0040325c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x30]
push eax
push esi
call sub.kernel32.dll_GetDiskFreeSpaceExA
test eax, eax
je 0x4110d1
push dword [edi]
push 0x412860
push 0
push 0x100000
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
call fcn.00403aa0
push edx
push eax
lea eax, [ebp - 0x648]
call fcn.00404900
push dword [ebp - 0x648]
push 0x412178
push 0x411738
push 0x412870
push 0
push 0x100000
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
call fcn.00403aa0
push edx
push eax
lea eax, [ebp - 0x64c]
call fcn.00404900
push dword [ebp - 0x64c]
push 0x412178
push 0x411738
push 0x412884
push 0
push 0x100000
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub eax, dword [ebp - 0x40]
sbb edx, dword [ebp - 0x3c]
call fcn.00403aa0
push edx
push eax
lea eax, [ebp - 0x650]
call fcn.00404900
push dword [ebp - 0x650]
push 0x412178
push 0x411738
mov eax, edi
mov edx, 0xd
call fcn.0040344c
inc ebx
cmp bl, 0x5b
jne 0x410ce7
push 0
push 0
push 0
push 0x412894
call sub.gdi32.dll_CreateDCA
mov ebx, eax
push 8
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 4]
call fcn.004048e0
mov eax, 0x41ab68
mov edx, 0x4128a4
call fcn.0040325c
push 0xa
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 8]
call fcn.004048e0
push 0x74
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0xc]
call fcn.004048e0
push 0xc
push ebx
call sub.gdi32.dll_GetDeviceCaps
lea edx, [ebp - 0x10]
call fcn.004048e0
push ebx
call sub.gdi32.dll_DeleteDC
mov eax, 0x41ab68
mov edx, 0x412978
call fcn.0040325c
push dword [edi]
push 0x411e00
push 0x412a3c
push 0x411738
push 0x412a54
push dword [ebp - 4]
push 0x411738
push 0x412a68
push dword [ebp - 8]
push 0x411738
push 0x412a7c
push dword [ebp - 0xc]
push 0x411738
push 0x412a90
push dword [ebp - 0x10]
push 0x411738
mov eax, edi
mov edx, 0x10
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x412aac
call fcn.0040325c
push dword [ebp - 0x14]
push 0x411970
push 0x412ad0
push dword [ebp - 4]
push 0x412ae0
push dword [ebp - 8]
push 0x412aec
push dword [ebp - 0xc]
push 0x412ae0
push dword [ebp - 0x10]
lea eax, [ebp - 0x14]
mov edx, 0xa
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x412af8
call fcn.0040325c
lea eax, [ebp - 0x590]
xor ecx, ecx
mov edx, 7
call fcn.004027e8
lea eax, [ebp - 0x590]
push eax
push 8
mov eax, dword [0x4192c8]
mov eax, dword [eax]
call eax
mov dword [ebp - 0x44], eax
push 0x412b7c
mov eax, dword [ebp - 0x44]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x654]
call fcn.00404900
push dword [ebp - 0x654]
push 0x411738
lea eax, [ebp - 4]
mov edx, 3
call fcn.0040344c
mov eax, 0x41ab68
mov edx, 0x412b9c
call fcn.0040325c
mov eax, dword [ebp - 0x44]
dec eax
test eax, eax
jl 0x4116a3
inc eax
mov dword [ebp - 0x48], eax
xor esi, esi
lea ebx, [ebp - 0x590]
mov eax, dword [ebx]
and eax, 0xff
cmp eax, 0x38
ja case.0x411282.0
jmp dword [eax*4 + 0x411289]
lea eax, [ebp - 0x10]
mov edx, 0x412c18
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c28
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c38
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c48
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c58
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c68
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c78
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c88
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412c98
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412ca8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412cb8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412cc8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412cd8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412ce4
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412cf8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d0c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d1c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d2c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d3c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d4c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d5c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d6c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d80
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412d94
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412da8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412db8
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412dcc
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412ddc
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412dec
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e00
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e14
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e24
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e38
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e4c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e58
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e68
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e7c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e8c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412e9c
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412eac
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412ebc
call fcn.004032a0
jmp case.0x411282.0
lea eax, [ebp - 0x10]
mov edx, 0x412ec8
call fcn.004032a0
push dword [ebp - 4]
lea edx, [ebp - 0x658]
lea eax, [esi + 1]
call fcn.004048e0
push dword [ebp - 0x658]
push 0x41213c
mov eax, dword [ebx]
and eax, 0xff
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x65c]
call fcn.00404900
push dword [ebp - 0x65c]
push 0x411964
push dword [ebp - 0x10]
push 0x411738
lea eax, [ebp - 4]
mov edx, 7
call fcn.0040344c
inc esi
add ebx, 4
dec dword [ebp - 0x48]
jne 0x411272
push 0x412ed8
push dword [ebp - 0x14]
push 0x411738
push 0x412f04
push 0x411738
push 0x412f18
lea edx, [ebp - 0x660]
mov eax, 0x9f
call fcn.004048e0
push dword [ebp - 0x660]
push dword [edi]
push dword [ebp - 4]
mov eax, edi
mov edx, 9
call fcn.0040344c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x411728
lea eax, [ebp - 0x660]
mov edx, 0xd
call fcn.0040322c
lea eax, [ebp - 0x620]
mov edx, 0x1c
call fcn.0040322c
lea eax, [ebp - 0x1c]
mov edx, 7
call fcn.0040322c
ret