Function at 0x513478
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop edi
push edi
or edi, 0x17f08
or edi, 0x109e8
pop edi
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x512b21
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x512e12
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x512b49
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x512e12
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x512b7b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x512e12
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x512ba0
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x512e12
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x512bfa
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x512e06
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x512c6a
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x512d1c
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x512d1c
push eax
push esi
add esp, 4
xor eax, 0xf639
or eax, 0x15245
pop eax
push edx
push esi
add esp, 4
and edx, 0x1ed4
add edx, 0x48c9
add edx, 0x14cda
pop edx
push ebx
and ebx, 0xa206
pop ebx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x512d0e
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x512d15
jmp 0x512c5b
jmp 0x512d1c
push ebx
push edi
add esp, 4
add ebx, 0x1503f
pop ebx
push ecx
push edx
add esp, 4
sub ecx, 0xd694
add ecx, 0x7574
add ecx, 0x12a7c
add ecx, 0x65f8
pop ecx
push edi
xor edi, 0x14892
pop edi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x512d7b
mov dword [ebp - 0xc30], 0
jmp 0x512dea
push eax
push eax
add esp, 4
and eax, 0x7249
and eax, 0xb781
pop eax
push esi
push eax
add esp, 4
xor esi, 0x1388c
xor esi, 0xd62b
pop esi
push eax
add eax, 0x18078
and eax, 0xa5aa
pop eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x512de0
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x512dea
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x512e01
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x512e12
jmp 0x512beb
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x512eed
push edi
push edx
add esp, 4
or edi, 0xee8d
and edi, 0x3e92
pop edi
push edx
sub edx, 0x8b1a
pop edx
push ebx
push ebx
add esp, 4
xor ebx, 0x6068
pop ebx
push ecx
push edi
add esp, 4
and ecx, 0x11585
pop ecx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ebx
xor ebx, 0x11db3
xor ebx, 0x1189c
pop ebx
push ecx
push ecx
add esp, 4
xor ecx, 0x6acf
call 0x512e85
add byte [esi + 0x3b], al
dec esi
cmp byte [eax + 0x43], al
aaa
xor dh, byte [esi]
add esp, 4
or ecx, 0x262d
pop ecx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x512eed
push ecx
push ebx
add esp, 4
sub ecx, 0x1483a
xor ecx, 0x3a2b
pop ecx
push ecx
push edi
add esp, 4
xor ecx, 0x4cf
and ecx, 0x151b9
pop ecx
push eax
sub eax, 0x2ccc
or eax, 0x9ed1
pop eax
mov dword [ebp - 0x738], 0
jmp 0x5135d7
push ecx
push ebx
add esp, 4
add ecx, 0x13ee
sub ecx, 0x65a0
jmp 0x512f03
jmp 0x512f0c
pop ecx
push eax
push ecx
add esp, 4
sub eax, 0x1857
sub eax, 0x17a40
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push ecx
push ebx
add esp, 4
xor ecx, 0xfc28
pop ecx
push edx
xor edx, 0x167bc
xor edx, 0xc2a6
call 0x512f6c
add byte [ebx + 0x4b], cl
dec esi
cmp al, 0x39
dec ecx
cmp eax, dword [ebx + 0x575a04c4]
or edi, 0x5a36
pop edi
cmp dword [ebp - 0x14f4], 0
jne 0x512f90
mov dword [ebp - 0x2e0], 0
jmp 0x513237
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push esi
call 0x512faf
add byte [ecx + 0x4a], al
inc esi
push eax
inc edx
dec esi
add esp, 4
call 0x512fc2
add byte [eax + 0x3b], al
cmp al, 0x4c
aaa
inc esi
dec edx
xor al, 0x48
dec edi
add esp, 4
pop esi
push edx
and edx, 0x9368
and edx, 0x92f5
pop edx
cmp dword [ebp - 0xc3c], 0
jne 0x512fec
mov dword [ebp - 0x2e0], 0
jmp 0x513237
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ebx
push edx
add esp, 4
add ebx, 0x489c
pop ebx
push eax
and eax, 0x14ee4
xor eax, 0x4103
jmp 0x51301a
call 0x513026
add byte [ebx + 0x44], cl
inc ebx
inc edi
aas
xor eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
fsubr st(1)
invalid
push eax
and eax, 0x97d4
and eax, 0x8424
and eax, 0x5df3
xor eax, 0xa663
pop eax
push esi
jmp 0x51325a
add esi, 0x432a
pop esi
push ebx
add ebx, 0x10867
pop ebx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push esi
push esi
add esp, 4
sub esi, 0xce05
pop esi
push eax
call 0x513293
add byte [ecx + 0x37], cl
inc eax
aas
dec edi
inc ebp
xor al, byte ds:[ebx + 0x575804c4]
jmp 0x51329d
xor edi, 0xb99b
or edi, 0x180d2
pop edi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x5132da
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x5135cb
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x513302
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x5135cb
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x513334
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x5135cb
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x513359
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x5135cb
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x5133b3
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x5135bf
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x513423
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x5134d5
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x5134d5
push ecx
push eax
add esp, 4
xor ecx, 0x13dd3
jmp 0x513462
pop ecx
push esi
add esi, 0x105ff
call 0x513478
add byte [edx + eax*2 + 0x4e], al
inc eax
cmp dword [eax + 0x38], ecx
push eax
add esp, 4
xor esi, 0xd247
pop esi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x5134c7
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x5134ce
jmp 0x513414
jmp 0x5134d5
push eax
push eax
add esp, 4
jmp 0x5134df
jmp 0x5134e8
pop eax
push edx
push edi
add esp, 4
sub edx, 0xce9e
or edx, 0xcb96
xor edx, 0x9116
xor edx, 0x5ed
pop edx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x513534
mov dword [ebp - 0xc40], 0
jmp 0x5135a3
push ecx
push edx
add esp, 4
sub ecx, 8
pop ecx
push esi
push eax
add esp, 4
sub esi, 0xa3fe
xor esi, 0x7af0
pop esi
push edi
and edi, 0x6c17
jmp 0x51355f
jmp 0x513565
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x513599
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x5135a3
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x5135ba
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x5135cb
jmp 0x5133a4
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax