Function at 0x402570
Capabilities:
Allocate or change rwx memory
Execute command
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x410f1f
mov eax, dword fs:[0]
push eax
sub esp, 0x14c
mov eax, dword [0x419008]
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 esi, edx
mov edi, ecx
push 0x104
lea eax, [ebp - 0x118]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x118]
push 0
push eax
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
test edi, edi
jne 0x40296c
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x12c], 0x7994ebdc
mov edi, dword [eax]
mov dword [ebp - 0x120], edi
mov eax, dword [edi + 0x4d0]
test al, 1
jne 0x40265f
or eax, 1
mov dword [edi + 0x4d0], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x6b4], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x12c]
mov byte [ecx + edi + 0x6b0], al
add ecx, 1
adc edx, 0
jne 0x40264b
cmp ecx, 4
jb 0x402630
push 0x412f40
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x6b4], 0
lea ebx, [edi + 0x6b0]
je 0x4026b6
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x79e787bf
and ecx, 7
mov edx, 0xb5e3ff6f
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x4026ac
cmp esi, 4
jb 0x402685
mov edi, dword [ebp - 0x120]
mov byte [ebx + 4], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [edi + 0xa4]
add esp, 4
mov dword [ebp - 0x130], 0xe0d3f848
mov dword [ebp - 0x12c], 0x33d04bc9
test al, 1
jne 0x40273f
or eax, 1
mov dword [edi + 0xa4], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 1
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x598], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x130]
mov byte [ecx + edi + 0x590], al
add ecx, 1
adc edx, 0
jne 0x40272b
cmp ecx, 8
jb 0x402710
push 0x412f00
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x598], 0
lea ebx, [edi + 0x590]
je 0x402796
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x8fbf972b
and ecx, 7
mov edx, 0x33936bbb
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x40278c
cmp esi, 8
jb 0x402765
mov edi, dword [ebp - 0x120]
mov byte [ebx + 8], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x414700]
add esp, 4
mov eax, dword [edi + 0x59c]
mov byte [ebp - 0x134], 0xcd
movups xmmword [ebp - 0x144], xmm0
test al, 1
jne 0x40281f
or eax, 1
mov dword [edi + 0x59c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 2
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x441], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x144]
mov byte [ecx + edi + 0x430], al
add ecx, 1
adc edx, 0
jne 0x40280b
cmp ecx, 0x11
jb 0x4027f0
push 0x412ec0
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x441], 0
lea ebx, [edi + 0x430]
je 0x402876
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x7c34bcd
and ecx, 7
mov edx, 0x1bb371b9
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x40286c
cmp esi, 0x11
jb 0x402845
mov edi, dword [ebp - 0x120]
mov byte [ebx + 0x11], 0
push 0x40df60
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, ebx
call fcn.0040dd20
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x7a8]
mov dword [ebp - 0x124], 0xdcce8275
mov word [ebp - 0x120], 0xe7ea
test al, 1
jne 0x402908
or eax, 1
mov dword [edi + 0x7a8], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 3
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x686], 1
nop
mov al, byte [ebp + ecx - 0x124]
mov byte [ecx + edi + 0x680], al
add ecx, 1
adc edx, 0
jne 0x4028fb
cmp ecx, 6
jb 0x4028e0
push 0x412e80
call fcn.0040fe53
add esp, 4
cmp byte [edi + 0x686], 0
lea edi, [edi + 0x680]
je 0x40295b
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ebx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
nop
mov ecx, esi
mov eax, 0xafbbe305
and ecx, 7
mov edx, 0xedc1e78f
shl ecx, 3
call fcn.00410940
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
jne 0x402957
cmp esi, 6
jb 0x402930
mov byte [edi + 6], 0
push edi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
xor al, al
jmp 0x403d6d
push edi
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
test ebx, ebx
jne 0x402d12
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x12c], 0xdf2a17ee
mov dword [ebp - 0x120], edi
test al, 1
jne 0x402a0f
or eax, 1
mov dword [edi + 0x498], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 4
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x398], 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x12c]
mov byte [ecx + edi + 0x394], al
add ecx, 1
adc edx, 0
jne 0x4029fb
cmp ecx, 4
jb 0x4029e0
push 0x412e40
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x398], 0
lea ebx, [edi + 0x394]
je 0x402a66
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xdf597b8d
and ecx, 7
mov edx, 0xbb55ff59
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x402a5c
cmp esi, 4
jb 0x402a35
mov edi, dword [ebp - 0x120]
mov byte [ebx + 4], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [edi + 0x60c]
add esp, 4
mov dword [ebp - 0x130], 0x760d98e0
mov dword [ebp - 0x12c], 0xe1b631a7
test al, 1
jne 0x402aef
or eax, 1
mov dword [edi + 0x60c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 5
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x7b8], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x130]
mov byte [ecx + edi + 0x7b0], al
add ecx, 1
adc edx, 0
jne 0x402adb
cmp ecx, 8
jb 0x402ac0
push 0x412e00
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x7b8], 0
lea ebx, [edi + 0x7b0]
je 0x402b46
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x1961f783
and ecx, 7
mov edx, 0xe1f511d5
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x402b3c
cmp esi, 8
jb 0x402b15
mov edi, dword [ebp - 0x120]
mov byte [ebx + 8], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x414660]
add esp, 4
mov eax, dword [edi + 0x13c]
mov word [ebp - 0x134], 0xe9e1
movups xmmword [ebp - 0x144], xmm0
test al, 1
jne 0x402bcf
or eax, 1
mov dword [edi + 0x13c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 6
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x726], 1
nop
mov al, byte [ebp + ecx - 0x144]
mov byte [ecx + edi + 0x714], al
add ecx, 1
adc edx, 0
jne 0x402bbb
cmp ecx, 0x12
jb 0x402ba0
push 0x412dc0
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x726], 0
lea ebx, [edi + 0x714]
je 0x402c26
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x8b41e993
and ecx, 7
mov edx, 0x4727c973
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x402c1c
cmp esi, 0x12
jb 0x402bf5
mov edi, dword [ebp - 0x120]
mov byte [ebx + 0x12], 0
push 0x40df60
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, ebx
call fcn.0040dd20
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x72c]
mov dword [ebp - 0x124], 0xc230c469
mov word [ebp - 0x120], 0x9d02
test al, 1
jne 0x402cb8
or eax, 1
mov dword [edi + 0x72c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 7
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x32e], 1
nop
mov al, byte [ebp + ecx - 0x124]
mov byte [ecx + edi + 0x328], al
add ecx, 1
adc edx, 0
jne 0x402cab
cmp ecx, 6
jb 0x402c90
push 0x412d80
call fcn.0040fe53
add esp, 4
cmp byte [edi + 0x32e], 0
lea edi, [edi + 0x328]
je 0x40295b
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ebx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xb145a519
and ecx, 7
mov edx, 0xef379d67
shl ecx, 3
call fcn.00410940
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
jne 0x402957
cmp esi, 6
jb 0x402ce2
jmp 0x402957
mov eax, dword [edi + 0x1f0]
mov dword [ebp - 0x128], 0x17547c0f
mov dword [ebp - 0x124], 0x4f0108c7
mov dword [ebp - 0x120], 0x324c6122
mov byte [ebp - 0x11c], 0x8b
mov dword [ebp - 0x12c], edi
test al, 1
jne 0x402daf
or eax, 1
mov dword [edi + 0x1f0], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 8
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x311], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x128]
mov byte [ecx + edi + 0x304], al
add ecx, 1
adc edx, 0
jne 0x402d9b
cmp ecx, 0xd
jb 0x402d80
push 0x412d00
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi + 0x644]
mov dword [ebp - 0x128], 0x1d477628
mov dword [ebp - 0x124], 0xf500dee
mov dword [ebp - 0x120], 0x1f59776d
mov byte [ebp - 0x11c], 0x8b
test al, 1
jne 0x402e3f
or eax, 1
mov dword [edi + 0x644], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 9
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0xb9], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x128]
mov byte [ecx + edi + 0xac], al
add ecx, 1
adc edx, 0
jne 0x402e2b
cmp ecx, 0xd
jb 0x402e10
push 0x412d40
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x304]
call fcn.0040b230
push eax
push ecx
lea ecx, [edi + 0xac]
call fcn.0040b230
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x403202
mov eax, dword [edi + 0x68c]
mov dword [ebp - 0x120], 0x87522178
test al, 1
jne 0x402eef
or eax, 1
mov dword [edi + 0x68c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0xa
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x4cc], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x120]
mov byte [ecx + edi + 0x4c8], al
add ecx, 1
adc edx, 0
jne 0x402edb
cmp ecx, 4
jb 0x402ec0
push 0x412cc0
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x4cc], 0
lea ebx, [edi + 0x4c8]
je 0x402f46
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x87214d1b
and ecx, 7
mov edx, 0x61a7ddf5
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x402f3c
cmp esi, 4
jb 0x402f15
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 4], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [edi + 0x550]
add esp, 4
mov dword [ebp - 0x124], 0x66ab7afa
mov dword [ebp - 0x120], 0x51101f67
test al, 1
jne 0x402fcf
or eax, 1
mov dword [edi + 0x550], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0xb
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x3f8], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x124]
mov byte [ecx + edi + 0x3f0], al
add ecx, 1
adc edx, 0
jne 0x402fbb
cmp ecx, 8
jb 0x402fa0
push 0x412c80
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x3f8], 0
lea ebx, [edi + 0x3f0]
je 0x403026
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x9c71599
and ecx, 7
mov edx, 0x51533f15
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x40301c
cmp esi, 8
jb 0x402ff5
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 8], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x4147b0]
add esp, 4
mov eax, dword [edi + 0x7ac]
mov dword [ebp - 0x13c], 0xc53a5d31
mov dword [ebp - 0x138], 0x971ac348
mov byte [ebp - 0x134], 0x55
movups xmmword [ebp - 0x14c], xmm0
test al, 1
jne 0x4030c0
or eax, 1
mov dword [edi + 0x7ac], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0xc
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x661], 1
mov al, byte [ebp + ecx - 0x14c]
mov byte [ecx + edi + 0x648], al
add ecx, 1
adc edx, 0
jne 0x4030ac
cmp ecx, 0x19
jb 0x403091
push 0x412c40
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x661], 0
lea ebx, [edi + 0x648]
je 0x403117
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xe5433955
and ecx, 7
mov edx, 0xe575b10d
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x40310d
cmp esi, 0x19
jb 0x4030e6
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 0x19], 0
push 0x40df60
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, ebx
call fcn.0040dd20
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x1e0]
mov dword [ebp - 0x124], 0xf6ec6a21
mov word [ebp - 0x120], 0xb7c
test al, 1
jne 0x4031a8
or eax, 1
mov dword [edi + 0x1e0], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0xd
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x53a], 1
mov al, byte [ebp + ecx - 0x124]
mov byte [edi + ecx + 0x534], al
add ecx, 1
adc edx, 0
jne 0x40319b
cmp ecx, 6
jb 0x403180
push 0x412c00
call fcn.0040fe53
add esp, 4
cmp byte [edi + 0x53a], 0
lea edi, [edi + 0x534]
je 0x40295b
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ebx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x85990b51
and ecx, 7
mov edx, 0xebf50b19
shl ecx, 3
call fcn.00410940
xor byte [edi + esi], al
add esi, 1
adc ebx, 0
jne 0x402957
cmp esi, 6
jb 0x4031d2
jmp 0x402957
lea ecx, [ebp - 0x118]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403210
push 0x40
push 0x3000
sub ecx, edx
push ecx
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov esi, eax
test esi, esi
jne 0x4035d2
mov eax, dword [edi + 0x288]
mov dword [ebp - 0x120], 0xf8e3180
test al, 1
jne 0x4032af
or eax, 1
mov dword [edi + 0x288], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0xe
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x670], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x120]
mov byte [edi + ecx + 0x66c], al
add ecx, 1
adc edx, 0
jne 0x40329b
cmp ecx, 4
jb 0x403280
push 0x412bc0
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x670], 0
lea ebx, [edi + 0x66c]
je 0x403306
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xffd5de3
and ecx, 7
mov edx, 0x53115973
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x4032fc
cmp esi, 4
jb 0x4032d5
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 4], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [edi + 0x6f8]
add esp, 4
mov dword [ebp - 0x124], 0xfc21ecdc
mov dword [ebp - 0x120], 0xbf3247b5
test al, 1
jne 0x40338f
or eax, 1
mov dword [edi + 0x6f8], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0xf
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x41c], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x124]
mov byte [edi + ecx + 0x414], al
add ecx, 1
adc edx, 0
jne 0x40337b
cmp ecx, 8
jb 0x403360
push 0x412b80
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x41c], 0
lea ebx, [edi + 0x414]
je 0x4033e6
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x934d83bf
and ecx, 7
mov edx, 0xbf7167c7
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x4033dc
cmp esi, 8
jb 0x4033b5
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 8], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x414640]
add esp, 4
mov eax, dword [edi + 0x410]
mov dword [ebp - 0x13c], 0x6eaf52c9
mov dword [ebp - 0x138], 0xadb4cad
mov word [ebp - 0x134], 0x3bc9
movups xmmword [ebp - 0x14c], xmm0
test al, 1
jne 0x40348f
or eax, 1
mov dword [edi + 0x410], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x10
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x5d2], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x14c]
mov byte [edi + ecx + 0x5b8], al
add ecx, 1
adc edx, 0
jne 0x40347b
cmp ecx, 0x1a
jb 0x403460
push 0x412b40
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x5d2], 0
lea ebx, [edi + 0x5b8]
je 0x4034e6
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x9c13bbb
and ecx, 7
mov edx, 0x65a9098d
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x4034dc
cmp esi, 0x1a
jb 0x4034b5
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 0x1a], 0
push 0x40df60
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, ebx
call fcn.0040dd20
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x794]
mov dword [ebp - 0x124], 0xa006fcc3
mov word [ebp - 0x120], 0x81c6
test al, 1
jne 0x403578
or eax, 1
mov dword [edi + 0x794], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x11
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x3b2], 1
nop
mov al, byte [ebp + ecx - 0x124]
mov byte [edi + ecx + 0x3ac], al
add ecx, 1
adc edx, 0
jne 0x40356b
cmp ecx, 6
jb 0x403550
push 0x412b00
call fcn.0040fe53
add esp, 4
cmp byte [edi + 0x3b2], 0
lea edi, [edi + 0x3ac]
je 0x40295b
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ebx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xd3739db3
and ecx, 7
mov edx, 0x3fa781a3
shl ecx, 3
call fcn.00410940
xor byte [edi + esi], al
add esi, 1
adc ebx, 0
jne 0x402957
cmp esi, 6
jb 0x4035a2
jmp 0x402957
lea ecx, [ebp - 0x118]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4035e0
push 0
sub ecx, edx
lea eax, [ebp - 0x118]
push ecx
push eax
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x403992
mov eax, dword [edi + 0x400]
mov dword [ebp - 0x120], 0x239a9518
test al, 1
jne 0x40367f
or eax, 1
mov dword [edi + 0x400], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x12
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x428], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x120]
mov byte [edi + ecx + 0x424], al
add ecx, 1
adc edx, 0
jne 0x40366b
cmp ecx, 4
jb 0x403650
push 0x412ac0
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x428], 0
lea ebx, [edi + 0x424]
je 0x4036d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x23e9f97b
and ecx, 7
mov edx, 0x4971799d
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x4036cc
cmp esi, 4
jb 0x4036a5
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 4], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [edi + 0x4c0]
add esp, 4
mov dword [ebp - 0x124], 0xb0f92e5c
mov dword [ebp - 0x120], 0xab9e73a7
test al, 1
jne 0x40375f
or eax, 1
mov dword [edi + 0x4c0], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x13
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x67c], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x124]
mov byte [edi + ecx + 0x674], al
add ecx, 1
adc edx, 0
jne 0x40374b
cmp ecx, 8
jb 0x403730
push 0x412a80
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x67c], 0
lea ebx, [edi + 0x674]
je 0x4037b6
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xdf95413f
and ecx, 7
mov edx, 0xabdd53d5
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x4037ac
cmp esi, 8
jb 0x403785
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 8], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x4146d0]
add esp, 4
mov eax, dword [edi + 0x79c]
mov word [ebp - 0x138], 0xd148
mov byte [ebp - 0x136], 0xcd
movups xmmword [ebp - 0x148], xmm0
test al, 1
jne 0x40384f
or eax, 1
mov dword [edi + 0x79c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x14
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x247], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x148]
mov byte [edi + ecx + 0x234], al
add ecx, 1
adc edx, 0
jne 0x40383b
cmp ecx, 0x13
jb 0x403820
push 0x412a40
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x247], 0
lea ebx, [edi + 0x234]
je 0x4038a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x65cda327
and ecx, 7
mov edx, 0x2b6d3519
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x40389c
cmp esi, 0x13
jb 0x403875
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 0x13], 0
push 0x40df60
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, ebx
call fcn.0040dd20
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x324]
mov dword [ebp - 0x124], 0xfe9e809d
mov word [ebp - 0x120], 0x8fea
test al, 1
jne 0x403938
or eax, 1
mov dword [edi + 0x324], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x15
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x78e], 1
nop
mov al, byte [ebp + ecx - 0x124]
mov byte [edi + ecx + 0x788], al
add ecx, 1
adc edx, 0
jne 0x40392b
cmp ecx, 6
jb 0x403910
push 0x412a00
call fcn.0040fe53
add esp, 4
cmp byte [edi + 0x78e], 0
lea edi, [edi + 0x788]
je 0x40295b
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ebx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x8debe1ed
and ecx, 7
mov edx, 0xbfe78f8f
shl ecx, 3
call fcn.00410940
xor byte [edi + esi], al
add esi, 1
adc ebx, 0
jne 0x402957
cmp esi, 6
jb 0x403962
jmp 0x402957
mov edx, dword [ebp - 0x120]
mov ecx, ebx
push esi
call fcn.004020b0
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x403d42
mov eax, dword [edi + 0x3a8]
mov dword [ebp - 0x120], 0x593ab91c
test al, 1
jne 0x403a2f
or eax, 1
mov dword [edi + 0x3a8], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x16
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x4a0], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x120]
mov byte [edi + ecx + 0x49c], al
add ecx, 1
adc edx, 0
jne 0x403a1b
cmp ecx, 4
jb 0x403a00
push 0x4129c0
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x4a0], 0
lea ebx, [edi + 0x49c]
je 0x403a86
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x5949d57f
and ecx, 7
mov edx, 0x69bd2b5b
shl ecx, 3
call fcn.00410940
xor byte [ebx + esi], al
add esi, 1
adc edi, 0
jne 0x403a7c
cmp esi, 4
jb 0x403a55
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 4], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [edi + 0x50c]
add esp, 4
mov dword [ebp - 0x124], 0xa0091838
mov dword [ebp - 0x120], 0x29c86de1
test al, 1
jne 0x403b0f
or eax, 1
mov dword [edi + 0x50c], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x17
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x36c], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x124]
mov byte [ecx + edi + 0x364], al
add ecx, 1
adc edx, 0
jne 0x403afb
cmp ecx, 8
jb 0x403ae0
push 0x412980
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x36c], 0
lea ebx, [edi + 0x364]
je 0x403b66
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xcf65775b
and ecx, 7
mov edx, 0x298b4d93
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x403b5c
cmp esi, 8
jb 0x403b35
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 8], 0
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x4147d0]
add esp, 4
mov eax, dword [edi + 0x668]
mov word [ebp - 0x138], 0x87e2
mov byte [ebp - 0x136], 0xbf
movups xmmword [ebp - 0x148], xmm0
test al, 1
jne 0x403bff
or eax, 1
mov dword [edi + 0x668], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x18
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x5b7], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x148]
mov byte [ecx + edi + 0x5a4], al
add ecx, 1
adc edx, 0
jne 0x403beb
cmp ecx, 0x13
jb 0x403bd0
push 0x412940
call fcn.0040fe53
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x5b7], 0
lea ebx, [edi + 0x5a4]
je 0x403c56
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0xefbff58d
and ecx, 7
mov edx, 0xdd3955d9
shl ecx, 3
call fcn.00410940
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
jne 0x403c4c
cmp esi, 0x13
jb 0x403c25
mov edi, dword [ebp - 0x12c]
mov byte [ebx + 0x13], 0
push 0x40df60
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, ebx
call fcn.0040dd20
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x5a0]
mov dword [ebp - 0x124], 0x602efec3
mov word [ebp - 0x120], 0x35f2
test al, 1
jne 0x403ce8
or eax, 1
mov dword [edi + 0x5a0], eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0x19
movlpd qword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov byte [edi + 0x6a6], 1
nop
mov al, byte [ebp + ecx - 0x124]
mov byte [ecx + edi + 0x6a0], al
add ecx, 1
adc edx, 0
jne 0x403cdb
cmp ecx, 6
jb 0x403cc0
push 0x412900
call fcn.0040fe53
add esp, 4
cmp byte [edi + 0x6a6], 0
lea edi, [edi + 0x6a0]
je 0x40295b
xorps xmm0, xmm0
movlpd qword [ebp - 0x158], xmm0
mov ebx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov ecx, esi
mov eax, 0x135b9fb3
and ecx, 7
mov edx, 0xd9a53597
shl ecx, 3
call fcn.00410940
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
jne 0x402957
cmp esi, 6
jb 0x403d12
jmp 0x402957
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x8000
push 0
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
push dword [ebp - 0x120]
call esi
mov al, 1
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.0040fb0d
mov esp, ebp
pop ebp
ret