Function at 0x551121
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
add esp, 4
add ecx, 0x5fe8
pop ecx
push esi
xor esi, 0x140fa
sub esi, 0x4de3
or esi, 0x1116b
jmp 0x551145
pop esi
mov eax, 0x6b
mov word [ebp - 0x2b0], ax
mov ecx, 0x65
mov word [ebp - 0x2ae], cx
mov edx, 0x72
mov word [ebp - 0x2ac], dx
mov eax, 0x6e
mov word [ebp - 0x2aa], ax
mov ecx, 0x65
mov word [ebp - 0x2a8], cx
mov edx, 0x6c
mov word [ebp - 0x2a6], dx
mov eax, 0x33
mov word [ebp - 0x2a4], ax
mov ecx, 0x32
mov word [ebp - 0x2a2], cx
mov edx, 0x2e
mov word [ebp - 0x2a0], dx
mov eax, 0x64
mov word [ebp - 0x29e], ax
mov ecx, 0x6c
mov word [ebp - 0x29c], cx
mov edx, 0x6c
mov word [ebp - 0x29a], dx
xor eax, eax
mov word [ebp - 0x298], ax
mov dword [ebp - 0x1b0], 0
push ebx
jmp 0x5511f3
xor ebx, 0x8dca
jmp 0x5511fe
pop ebx
push eax
xor eax, 0x13fcb
jmp 0x55120b
and eax, 0x12d0a
jmp 0x55121a
pop eax
mov byte [ebp - 0x198], 0x47
mov byte [ebp - 0x197], 0x65
mov byte [ebp - 0x196], 0x74
mov byte [ebp - 0x195], 0x4d
mov byte [ebp - 0x194], 0x6f
mov byte [ebp - 0x193], 0x64
mov byte [ebp - 0x192], 0x75
mov byte [ebp - 0x191], 0x6c
mov byte [ebp - 0x190], 0x65
mov byte [ebp - 0x18f], 0x48
mov byte [ebp - 0x18e], 0x61
mov byte [ebp - 0x18d], 0x6e
mov byte [ebp - 0x18c], 0x64
mov byte [ebp - 0x18b], 0x6c
mov byte [ebp - 0x18a], 0x65
mov byte [ebp - 0x189], 0x45
mov byte [ebp - 0x188], 0x78
mov byte [ebp - 0x187], 0x57
mov byte [ebp - 0x186], 0
mov ecx, dword [ebp - 0x4b0]
mov dword [ebp - 0x1b4], ecx
push esi
and esi, 0x8516
pop esi
push esi
push ecx
add esp, 4
sub esi, 0x9a88
pop esi
push edx
push edx
add esp, 4
or edx, 0x171e2
xor edx, 0xde22
and edx, 0x9790
and edx, 0x98ee
pop edx
push edi
sub edi, 0xc85e
call 0x5512f2
add byte [eax + 0x4b], dl
dec ecx
cmp byte [ecx + 0x40], al
add esp, 4
or edi, 0xd47
and edi, 0x46ab
pop edi
push edi
xor edi, 0xadbb
add edi, 0x564b
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x434], edx
push ebx
push ecx
add esp, 4
sub ebx, 0x11ab5
sub ebx, 0x17235
add ebx, 0x16f2a
and ebx, 0x8d4d
pop ebx
push ebx
xor ebx, 0xdaf2
or ebx, 0xf679
sub ebx, 0x15f1c
pop ebx
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x480], ecx
push edi
xor edi, 0x1e51
add byte [edi + 0x56], bl
push edx
add esp, 4
xor esi, 0x18356
sub esi, 0x4f83
add esi, 0x14c98
add esi, 0xfaf4
pop esi
push edi
push edi
add esp, 4
or edi, 0xcf8
pop edi
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x368], edx
cmp dword [ebp - 0x368], 0
jne 0x5513e3
push ebx
xor ebx, 0x118f5
add ebx, 0x1a40
and ebx, 0xbccf
add ebx, 0x2d59
pop ebx
push esi
push esi
add esp, 4
or esi, 0x15157
pop esi
push ecx
push esi
add esp, 4
jmp 0x5513d6
pop ecx
mov dword [ebp - 0x6c], 0
jmp 0x55176f
push edx
jmp 0x5513ea
call 0x5513f7
add byte [0x373b423e], dh
cmp al, 0x50
add esp, 4
sub edx, 0x886
pop edx
push eax
push ecx
add esp, 4
sub eax, 0xed7c
jmp 0x551414
pop eax
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1ec], edx
cmp dword [ebp - 0x1ec], 0
jne 0x55146e
push ecx
push eax
add esp, 4
sub ecx, 0x1739b
call 0x551447
add byte [esi], bh
dec esi
xor al, 0x41
cmp eax, 0x4c4833b
pop ecx
push edx
call 0x551458
add byte [eax + 0x4a], al
aaa
inc ebp
dec edx
cmp dword [ebx - 0x357efb3c], eax
adc byte [ecx], al
add byte [edx - 0x39], bl
inc ebp
xchg esp, eax
add byte [eax], al
add byte [eax], al
jmp 0x55176f
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0xc4], eax
push ebx
push eax
add esp, 4
add ebx, 0x1352d
xor ebx, 0xeace
or ebx, 0x8a88
and ebx, 0x14cd2
pop ebx
push ecx
push esi
add esp, 4
sub ecx, 0x1415e
pop ecx
push eax
and eax, 0x12193
pop eax
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1e4], eax
push esi
and esi, 0x62fa
pop esi
push eax
push ecx
add esp, 4
jmp 0x5514db
pop eax
push ecx
push edi
add esp, 4
xor ecx, 0x106a6
add ecx, 0x3ad1
jmp 0x5514f2
jmp 0x5514f8
pop ecx
xor ecx, ecx
mov word [ebp - 0x54], cx
xor edx, edx
mov word [ebp - 8], dx
push edi
or edi, 0x5d1e
call 0x55151c
add byte [edi], bh
dec edx
aas
inc edx
cmp al, 0x50
cmp al, byte [ecx + 0x3d]
xor eax, 0x5f04c483
push esi
jmp 0x55152a
pop esi
push edi
push ecx
add esp, 4
add edi, 0xbf72
pop edi
mov eax, dword [ebp - 0x1e4]
mov cx, word [eax]
mov word [ebp - 0x288], cx
mov edx, dword [ebp - 0x1e4]
add edx, 2
mov dword [ebp - 0x1e4], edx
mov ax, word [ebp - 0x288]
mov word [ebp - 0x54], ax
push ebx
and ebx, 0xb69
and ebx, 0x1830f
pop ebx
push ecx
push edi
add esp, 4
jmp 0x551579
and ecx, 0x7895
call 0x55158f
cmp dword [ebp - 0x6c], 0
jne 0x552424
push esi
push ecx
add esp, 4
xor esi, 0x11979
jmp 0x55178d
call 0x551799
add byte [ebx], dh
inc ebx
cmp byte [edi + 0x4a], cl
xor al, 0x83
les eax, [esi + ebx*2]
push ebx
and ebx, 0xb5c6
sub ebx, 0x45ee
pop ebx
mov edx, 0x6b
mov word [ebp - 0x3bc], dx
mov eax, 0x65
mov word [ebp - 0x3ba], ax
mov ecx, 0x72
mov word [ebp - 0x3b8], cx
mov edx, 0x6e
mov word [ebp - 0x3b6], dx
mov eax, 0x65
mov word [ebp - 0x3b4], ax
mov ecx, 0x6c
mov word [ebp - 0x3b2], cx
mov edx, 0x33
mov word [ebp - 0x3b0], dx
mov eax, 0x32
mov word [ebp - 0x3ae], ax
mov ecx, 0x2e
mov word [ebp - 0x3ac], cx
mov edx, 0x64
mov word [ebp - 0x3aa], dx
mov eax, 0x6c
mov word [ebp - 0x3a8], ax
mov ecx, 0x6c
mov word [ebp - 0x3a6], cx
xor edx, edx
mov word [ebp - 0x3a4], dx
push edx
push edi
add esp, 4
add edx, 0x5946
and edx, 0x9786
sub edx, 0x15e38
pop edx
push esi
add esi, 0xe553
pop esi
push edi
push ebx
add esp, 4
xor edi, 0x371
and edi, 0x11414
pop edi
mov byte [ebp - 0x154], 0x4c
mov byte [ebp - 0x153], 0x6f
mov byte [ebp - 0x152], 0x61
mov byte [ebp - 0x151], 0x64
mov byte [ebp - 0x150], 0x4c
mov byte [ebp - 0x14f], 0x69
mov byte [ebp - 0x14e], 0x62
mov byte [ebp - 0x14d], 0x72
mov byte [ebp - 0x14c], 0x61
mov byte [ebp - 0x14b], 0x72
mov byte [ebp - 0x14a], 0x79
mov byte [ebp - 0x149], 0x57
mov byte [ebp - 0x148], 0
push edi
call 0x5518e2
add byte [eax], bh
inc ecx
dec edi
xor eax, 0x4b42434e
cmp eax, dword [edi - 0x7d]
les eax, [ebx + ebp*8]
push es
inc eax
aas
cmp al, 0x4e
push eax
cmp al, byte [ecx + 0x3113cf]
add al, ch
pop es
add byte [eax], al
add byte [eax], al
xor al, 0x36
inc esi
dec edi
xor eax, dword [eax - 0x7d]
les eax, [edi + ebx*2]
push ecx
or ecx, 0x130b
or ecx, 0x17625
pop ecx
push edx
or edx, 0x12daf
scasd eax, dword es:[edi]
sub eax, 0x525a0001
xor edx, 0x16741
pop edx
push esi
or esi, 0xd0c4
or esi, 0xa284
xor esi, 0x8635
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x484], eax
push ebx
push edx
add esp, 4
add ebx, 0x10112
sub ebx, 0x163c5
sub ebx, 0xd28e
pop ebx
push eax
add eax, 0x1076f
sub eax, 0x13165
and eax, 0x18569
xor eax, 0x7cf4
pop eax
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push ecx
push eax
add esp, 4
sub ecx, 0xe06b
xor ecx, 0x779c
pop ecx
push edx
push edi
add esp, 4
sub edx, 0xa48e
pop edx
push edi
push edx
add esp, 4
add edi, 0x6c43
pop edi
push edi
sub edi, 0x63bc
pop edi
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x551a0a
push eax
push esi
add esp, 4
or eax, 0x1078d
pop eax
push eax
xor eax, 0x23bc
or eax, 0x1527c
add eax, 0x11b09
call 0x5519f7
add byte [edi + 0x45], cl
dec edx
inc edx
inc eax
inc esp
aaa
cmp dword [ebx], edi
add esp, 4
pop eax
mov dword [ebp - 0x118], 0
jmp 0x551d9f
push ebx
add ebx, 0x14414
sub ebx, 0xa6c9
pop ebx
push esi
push edi
add esp, 4
xor esi, 0x15e0d
pop esi
push esi
push eax
add esp, 4
or esi, 0x74ed
and esi, 0x9cea
add esi, 0x8347
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x551a98
push esi
xor esi, 0x7423
pop esi
push eax
jmp 0x551a65
sub eax, 0x15883
pop eax
push eax
push ebx
add esp, 4
jmp 0x551a76
pop eax
push edi
push ebx
add esp, 4
xor edi, 0x7a75
or edi, 0x1639c
pop edi
mov dword [ebp - 0x118], 0
jmp 0x551d9f
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push eax
add esp, 4
jmp 0x551aaf
pop ecx
push ecx
call 0x551ac1
add byte [ebx + 0x3b], cl
cmp al, byte [ebx + 0x3c]
cmp esi, dword [ebx]
aaa
dec ecx
inc ebx
add esp, 4
call 0x551ad2
add byte [edi], dh
cmp eax, 0x4e445043
dec esi
add esp, 4
pop ecx
lea edx, [ebp - 0x3bc]
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1f0], ecx
push edi
push ecx
add esp, 4
and edi, 0x1189
sub edi, 0x8447
pop edi
push eax
or eax, 0x150e8
sub eax, 0xda1f
xor eax, 0x17f97
pop eax
push esi
push edx
add esp, 4
xor esi, 0x18515
pop esi
xor edx, edx
mov word [ebp - 0x58], dx
xor eax, eax
mov word [ebp - 0xc], ax
push eax
push edi
add esp, 4
and eax, 0x611e
sub eax, 0x118ba
pop eax
push esi
call 0x551b51
add byte [edx + 0x33], cl
xor al, byte ss:[ebx + 0x48]
xor eax, 0xc483343e
add al, 0x81
test byte [ecx + ebp*2 + 1], 0
sub esi, 0x2bb7
pop esi
mov ecx, dword [ebp - 0x1f0]
mov dx, word [ecx]
mov word [ebp - 0x28c], dx
mov eax, dword [ebp - 0x1f0]
add eax, 2
mov dword [ebp - 0x1f0], eax
mov cx, word [ebp - 0x28c]
mov word [ebp - 0x58], cx
push edx
push ebx
add esp, 4
call 0x551b9f
add byte [ecx + 0x3b], al
cmp al, 0x38
cmp al, byte [ebp + 0x4d]
dec esp
aas
add esp, 4
xor edx, 0x9d62
add edx, 0x72e7
sub edx, 0xaebc
pop edx
push edi
sub edi, 0xe2b5
pop edi
mov edx, dword [ebp - 0x1f4]
mov ax, word [edx]
mov word [ebp - 0x28e], ax
mov ecx, dword [ebp - 0x1f4]
add ecx, 2
mov dword [ebp - 0x1f4], ecx
mov dx, word [ebp - 0x28e]
mov word [ebp - 0xc], dx
push ebx
jmp 0x551bf1
and ebx, 0x9f53
jmp 0x551bfc
pop ebx
push ecx
or ecx, 0x9a1d
pop ecx
push edx
push ebx
add esp, 4
add edx, 0x78a5
jmp 0x551c18
pop edx
movzx eax, word [ebp - 0xc]
test eax, eax
jne 0x551c36
movzx ecx, word [ebp - 0x58]
movzx edx, word [ebp - 0xc]
sub ecx, edx
mov dword [ebp - 0x37c], ecx
jmp 0x551cb9
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0xc]
cmp eax, ecx
je 0x551b2f
movzx edx, word [ebp - 0x58]
xor edx, 0x20
movzx eax, word [ebp - 0xc]
cmp edx, eax
je 0x551b2f
push eax
jmp 0x551c60
or eax, 0x23c
pop eax
push edi
sub edi, 0x9ed8
or edi, 0x5d27
pop edi
push eax
or eax, 0xa3cd
jmp 0x551c82
pop eax
push edi
or edi, 0xe075
pop edi
movzx ecx, word [ebp - 0x58]
movzx edx, word [ebp - 0xc]
cmp ecx, edx
jge 0x551ca3
mov dword [ebp - 0x378], 0xffffffff
jmp 0x551cad
mov dword [ebp - 0x378], 1
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
jne 0x551d05
push eax
call 0x551cd1
add byte [eax], bh
dec edi
cmp al, 0x38
inc ecx
cmp al, byte [ecx + 0x42]
add esp, 4
sub eax, 0x1e80
call 0x551cea
add byte [eax + ecx*2], bh
inc eax
inc esp
xor al, 0x42
cmp eax, dword [ebx + 0x3a]
inc esp
add esp, 4
sub eax, 0xebeb
pop eax
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x118], ecx
jmp 0x551d9f
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
push edx
push edi
add esp, 4
sub edx, 0x17ef6
jmp 0x551d26
pop edx
push edx
jmp 0x551d30
pop edx
push esi
jmp 0x551d38
add esi, 0x977e
xor esi, 0x9bad
pop esi
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0x1f8]
je 0x551d63
mov edx, dword [ebp - 0xc0]
cmp dword [edx + 0x30], 0
jne 0x551aa4
push esi
call 0x551d70
add byte [ecx], bh
xor al, 0x40
cmp edi, dword [ebx]
add esp, 4
jmp 0x551d78
pop esi
push ecx
call 0x551d89
add byte [edx + 0x39], al
push eax
xor al, 0x3d
xor al, 0x50
xor edx, dword [eax - 0x7d]
les eax, [ecx + ebx*2]
push eax
or eax, 0x7067
pop eax
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0
jne 0x551de9
push eax
or eax, 0x11bda
add eax, 0x3c06
pop eax
push edx
push esi
add esp, 4
xor edx, 0x210e
or edx, 0x160a1
pop edx
push ecx
push ecx
add esp, 4
xor ecx, 0x11aee
and ecx, 0x1811c
pop ecx
mov dword [ebp - 0x1b4], 0
jmp 0x552ee5
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x128], 0
push ecx
add ecx, 0x5f51
sub ecx, 0x219e
xor ecx, 0x1510a
pop ecx
push ecx
push ebx
add esp, 4
jmp 0x551e21
sub ecx, 0x148fe
and ecx, 0xec6
and ecx, 0x126d6
pop ecx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x380], edx
cmp dword [ebp - 0x380], 0
jne 0x551e8c
push edi
call 0x551e5a
add byte [ebp + 0x3d], cl
cmp byte [eax + 0x44], al
inc eax
inc ebp
inc esp
cmp al, 0x35
add esp, 4
pop edi
push edi
push ecx
add esp, 4
and edi, 0x9c00
jmp 0x551e6e
add edi, 0x1706e
mov ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0x8c]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x384], edx
jne 0x551eb4
mov eax, dword [ebp - 0x128]
invalid
invalid
invalid