Function at 0x4390f5
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
cmp dword [ebp - 0x1558], 0
jne 0x438d48
mov dword [ebp - 0x2a0], 0
jmp 0x438fef
mov eax, dword [ebp - 0x1558]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc5c], edx
push eax
push edi
add esp, 4
xor eax, 0xcd10
or eax, 0x10863
add eax, 0x9027
pop eax
push edx
xor edx, 0xd057
sub edx, 0x849c
or edx, 0x47c6
or edx, 0x2532
pop edx
cmp dword [ebp - 0xc5c], 0
jne 0x438da4
mov dword [ebp - 0x2a0], 0
jmp 0x438fef
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0x4d0], eax
push ecx
sub ecx, 0xcb59
call 0x438dc4
add byte [esi + edi], dh
inc eax
dec ecx
dec eax
dec eax
inc ebx
add esp, 4
pop ecx
push eax
xor eax, 0x1803f
sub eax, 0x176a3
and eax, 0x85fd
and eax, 0x4763
pop eax
lea ecx, [ebp - 0x15e8]
mov dword [ebp - 0xc58], ecx
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc54], eax
xor ecx, ecx
mov word [ebp - 0x1b8], cx
xor edx, edx
mov word [ebp - 0x2c], dx
push edi
push edi
add esp, 4
jmp 0x438e17
or edi, 0x29fd
jmp 0x438e25
pop edi
push edi
push ebx
add esp, 4
jmp 0x438e32
and edi, 0xe6e1
jmp 0x438e3d
pop edi
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xfda], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xfda]
mov word [ebp - 0x1b8], ax
mov ecx, dword [ebp - 0xc58]
mov dx, word [ecx]
mov word [ebp - 0xfdc], dx
mov eax, dword [ebp - 0xc58]
add eax, 2
mov dword [ebp - 0xc58], eax
mov cx, word [ebp - 0xfdc]
mov word [ebp - 0x2c], cx
push esi
sub esi, 0x1bca
add esi, 0x2dc7
pop esi
push edi
and edi, 0xb43a
sub edi, 0x5191
pop edi
push esi
or esi, 0x1423
pop esi
push ebx
push edi
add esp, 4
jmp 0x438ec6
pop ebx
movzx edx, word [ebp - 0x2c]
test edx, edx
jne 0x438ee4
movzx eax, word [ebp - 0x1b8]
movzx ecx, word [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x1560], eax
jmp 0x438f3e
movzx edx, word [ebp - 0x1b8]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
je 0x438e0c
movzx ecx, word [ebp - 0x1b8]
xor ecx, 0x20
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
je 0x438e0c
movzx eax, word [ebp - 0x1b8]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
jge 0x438f28
mov dword [ebp - 0x155c], 0xffffffff
jmp 0x438f32
mov dword [ebp - 0x155c], 1
mov edx, dword [ebp - 0x155c]
mov dword [ebp - 0x1560], edx
cmp dword [ebp - 0x1560], 0
jne 0x438f87
push ecx
push ecx
add esp, 4
xor ecx, 0xc67c
or ecx, 0x9ca1
jmp 0x438f5e
pop ecx
push esi
or esi, 0x7b4a
and esi, 0x72e
or esi, 0x9e80
or esi, 0x2626
pop esi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x2a0], eax
jmp 0x438fef
push edx
push edx
add esp, 4
call 0x438f99
add byte [ecx + 0x37], cl
dec edi
cmp cl, byte [edi + 0x41]
inc edx
add esp, 4
pop edx
push ebx
push esi
add esp, 4
jmp 0x438fa8
call 0x438fb5
add byte [ecx + 0x45], al
aas
inc edx
inc ebx
dec ecx
dec ecx
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x4d0]
mov edx, dword [ecx]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0xc5c]
je 0x438fe5
mov ecx, dword [ebp - 0x4d0]
cmp dword [ecx + 0x30], 0
jne 0x438db0
mov dword [ebp - 0x2a0], 0
push ebx
and ebx, 0x1707e
pop ebx
push ecx
call 0x439005
add byte [eax], bh
dec edi
dec esi
inc esp
dec ebp
dec eax
add esp, 4
add ecx, 0xce01
or ecx, 0x15af3
pop ecx
push ecx
push ebx
add esp, 4
add ecx, 0xc413
pop ecx
cmp dword [ebp - 0x2a0], 0
jne 0x439925
mov edx, 0x6b
mov word [ebp - 0x1670], dx
mov eax, 0x65
mov word [ebp - 0x166e], ax
mov dword [ebp - 0x166e], eax
mov ecx, 0x72
mov word [ebp - 0x166c], cx
mov edx, 0x6e
mov word [ebp - 0x166a], dx
mov eax, 0x65
mov word [ebp - 0x1668], ax
mov ecx, 0x6c
mov word [ebp - 0x1666], cx
mov edx, 0x33
mov word [ebp - 0x1664], dx
mov eax, 0x32
mov word [ebp - 0x1662], ax
mov ecx, 0x2e
mov word [ebp - 0x1660], cx
mov edx, 0x64
mov word [ebp - 0x165e], dx
mov eax, 0x6c
mov word [ebp - 0x165c], ax
mov ecx, 0x6c
mov word [ebp - 0x165a], cx
xor edx, edx
mov word [ebp - 0x1658], dx
push ecx
push edx
add esp, 4
add ecx, 0x140d8
or ecx, 0x2d37
pop ecx
push ecx
xor ecx, 0x12433
sub ecx, 0x5f64
call 0x4390f5
add byte [ebp + 0x3e], al
xor eax, 0x3b454c44
dec edx
cmp al, byte [ebx - 0x39a6fb3c]
test dword [eax + 0x4cfffff7], esi
mov byte [ebp - 0x84f], 0x6f
mov byte [ebp - 0x84e], 0x61
mov byte [ebp - 0x84d], 0x64
mov byte [ebp - 0x84c], 0x4c
mov byte [ebp - 0x84b], 0x69
mov byte [ebp - 0x84a], 0x62
mov byte [ebp - 0x849], 0x72
mov byte [ebp - 0x848], 0x61
mov byte [ebp - 0x847], 0x72
mov byte [ebp - 0x846], 0x79
mov byte [ebp - 0x845], 0x57
mov byte [ebp - 0x844], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1c38], edx
mov eax, dword [ebp - 0x1c38]
mov dword [ebp - 0x1564], eax
push edx
push ebx
add esp, 4
or edx, 0x7b62
jmp 0x43918c
pop edx
push eax
push edi
add esp, 4
xor eax, 0x10e62
add eax, 0x9454
pop eax
push ecx
sub ecx, 0x8910
xor ecx, 0xc2d0
pop ecx
cmp dword [ebp - 0x1564], 0
jne 0x4391c5
mov dword [ebp - 0x740], 0
jmp 0x43946c
mov ecx, dword [ebp - 0x1564]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc68], eax
push edi
call 0x4391e6
add byte [ecx], bh
inc esi
dec ebp
cmp al, 0x3d
cmp al, 0x50
cmp eax, 0xeb04c483
add al, 0x32
inc edi
inc ecx
dec edx
sub edi, 0x4122
jmp 0x4391fc
pop edi
push eax
push esi
add esp, 4
and eax, 0x10450
pop eax
cmp dword [ebp - 0xc68], 0
jne 0x439221
mov dword [ebp - 0x740], 0
jmp 0x43946c
mov ecx, dword [ebp - 0xc68]
mov dword [ebp - 0x4d4], ecx
push edx
push ebx
add esp, 4
sub edx, 0x14c8c
call 0x439247
add byte [esi + 0x3c], al
inc ecx
cmp byte [ecx + 0x42], al
cmp al, byte [ebx + 0x36]
add esp, 4
add edx, 0x6172
add edx, 0x10a78
pop edx
push ebx
xor ebx, 0x17b9a
pop ebx
lea edx, [ebp - 0x1670]
mov dword [ebp - 0xc64], edx
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc60], ecx
xor edx, edx
mov word [ebp - 0x1bc], dx
xor eax, eax
mov word [ebp - 0x30], ax
push ebx
or ebx, 0x479b
pop ebx
push ebx
push esi
add esp, 4
add ebx, 0x550b
pop ebx
push ebx
push ecx
add esp, 4
add ebx, 0x167a7
add ebx, 0xc714
add ebx, 0x133b1
xor ebx, 0x8be3
pop ebx
mov ecx, dword [ebp - 0xc60]
mov dx, word [ecx]
mov word [ebp - 0xfde], dx
mov eax, dword [ebp - 0xc60]
add eax, 2
mov dword [ebp - 0xc60], eax
mov cx, word [ebp - 0xfde]
mov word [ebp - 0x1bc], cx
mov edx, dword [ebp - 0xc64]
mov ax, word [edx]
mov word [ebp - 0xfe0], ax
mov ecx, dword [ebp - 0xc64]
add ecx, 2
mov dword [ebp - 0xc64], ecx
mov dx, word [ebp - 0xfe0]
mov word [ebp - 0x30], dx
push edi
jmp 0x43931b
add edi, 0xbed1
pop edi
push ebx
sub ebx, 0xcdd4
or ebx, 0x10965
pop ebx
push eax
add eax, 0x8ab
sub eax, 0x17549
xor eax, 0x1e5c
pop eax
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x439361
movzx ecx, word [ebp - 0x1bc]
movzx edx, word [ebp - 0x30]
sub ecx, edx
mov dword [ebp - 0x156c], ecx
jmp 0x4393bb
movzx eax, word [ebp - 0x1bc]
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x439289
movzx edx, word [ebp - 0x1bc]
xor edx, 0x20
movzx eax, word [ebp - 0x30]
cmp edx, eax
je 0x439289
movzx ecx, word [ebp - 0x1bc]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
jge 0x4393a5
mov dword [ebp - 0x1568], 0xffffffff
jmp 0x4393af
mov dword [ebp - 0x1568], 1
mov eax, dword [ebp - 0x1568]
mov dword [ebp - 0x156c], eax
cmp dword [ebp - 0x156c], 0
jne 0x439404
push eax
push ecx
add esp, 4
add eax, 0x13f21
sub eax, 0x2627
sub eax, 0x136eb
pop eax
push ecx
xor ecx, 0xbd4e
pop ecx
push edi
push ecx
add esp, 4
jmp 0x4393ef
or edi, 0xe3db
pop edi
mov ecx, dword [ebp - 0x4d4]
mov dword [ebp - 0x740], ecx
jmp 0x43946c
push esi
push edi
add esp, 4
or esi, 0xb5dd
and esi, 0x5d4a
jmp 0x43941b
pop esi
push ebx
push edi
add esp, 4
and ebx, 0x383f
pop ebx
push ebx
or ebx, 0xb97a
and ebx, 0x17031
pop ebx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
cmp ecx, dword [ebp - 0xc68]
je 0x439462
mov edx, dword [ebp - 0x4d4]
cmp dword [edx + 0x30], 0
jne 0x43922d
mov dword [ebp - 0x740], 0
push ecx
push ecx
add esp, 4
and ecx, 0x1539c
call 0x439486
add byte [ecx + 0x3b], cl
inc eax
cmp cl, byte [edi + 0x4c]
xor al, 0x4f
inc ebp
add esp, 4
sub ecx, 0x10900
pop ecx
push ecx
xor ecx, 0x13839
or ecx, 0x2dcb
pop ecx
cmp dword [ebp - 0x740], 0
jne 0x4394e8
push ecx
push ebx
add esp, 4
and ecx, 0x851c
pop ecx
push ecx
sub ecx, 0xc93c
add ecx, 0x7c
or ecx, 0x42a
xor ecx, 0x15151
pop ecx
push eax
push eax
add esp, 4
jmp 0x4394d8
pop eax
mov dword [ebp - 0xa50], 0
jmp 0x43a00f
push edi
push ebx
add esp, 4
or edi, 0x1686f
pop edi
push edi
push eax
add esp, 4
sub edi, 0x5758
sub edi, 0x16b30
and edi, 0x53a3
pop edi
push edx
add edx, 0x6a77
add edx, 0x11944
pop edx
mov eax, dword [ebp - 0x740]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x750], 0
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x439559
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x39c], eax
jmp 0x43984a
mov ecx, dword [ebp - 0x1570]
mov edx, dword [ebp - 0x354]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1574], edx
jne 0x439581
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x39c], eax
jmp 0x43984a
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1574]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1578], ecx
cmp dword [ebp - 0x1578], 0
jne 0x4395b3
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x39c], edx
jmp 0x43984a
mov eax, dword [ebp - 0x354]
add eax, dword [ebp - 0x1578]
mov dword [ebp - 0x744], eax
jne 0x4395d8
mov ecx, dword [ebp - 0x750]
mov dword [ebp - 0x39c], ecx
jmp 0x43984a
mov edx, dword [ebp - 0x744]
mov eax, dword [ebp - 0x354]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1c3c], eax
mov ecx, dword [ebp - 0x744]
mov edx, dword [ebp - 0x354]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1c40], edx
mov eax, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x354]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1c44], ecx
mov dword [ebp - 0x6c4], 0
jmp 0x439632
mov edx, dword [ebp - 0x6c4]
add edx, 1
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x6c4]
cmp ecx, dword [eax + 0x18]
jae 0x43983e
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x1c3c]
mov ecx, dword [ebp - 0x354]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x74c], ecx
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x1c40]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1c44]
mov eax, dword [ebp - 0x354]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1c48], eax
mov dword [ebp - 0x158], 0
jmp 0x4396a2
mov ecx, dword [ebp - 0x158]
add ecx, 1
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x74c]
add edx, dword [ebp - 0x158]
movsx eax, byte [edx]
test eax, eax
je 0x439754
mov ecx, dword [ebp - 0x158]
movsx edx, byte [ebp + ecx - 0x850]
test edx, edx
je 0x439754
push eax
or eax, 0x11799
add eax, 0x1712c
pop eax
push ebx
push edx
add esp, 4
jmp 0x4396eb
call 0x4396f7
add byte [edi + 0x3d], cl
cmp byte ds:[ebx], bh
add esp, 4
and ebx, 0xdf9f
pop ebx
mov eax, dword [ebp - 0x74c]
add eax, dword [ebp - 0x158]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x158]
movsx eax, byte [ebp + edx - 0x850]
cmp ecx, eax
je 0x439746
mov ecx, dword [ebp - 0x74c]
add ecx, dword [ebp - 0x158]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x158]
movsx ecx, byte [ebp + eax - 0x850]
cmp edx, ecx
jne 0x43974d
jmp 0x439693
jmp 0x439754
push ecx
add ecx, 0x14fc7
add ecx, 0x126be
or ecx, 0x101b5
or ecx, 0x8605
pop ecx
push eax
push ebx
add esp, 4
add eax, 0x978d
or eax, 0x111ab
sub eax, 0x3986
pop eax
mov edx, dword [ebp - 0x74c]
add edx, dword [ebp - 0x158]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x158]
movsx edx, byte [ebp + ecx - 0x850]
cmp eax, edx
jne 0x4397b3
mov dword [ebp - 0xc6c], 0
jmp 0x439822
push edi
xor edi, 0x11049
xor edi, 0x136f2
xor edi, 0x72d
pop edi
push ebx
push ebx
add esp, 4
sub ebx, 0x169e0
sub ebx, 0x499f
add ebx, 0x1ef4
sub ebx, 0x175dd
pop ebx
mov eax, dword [ebp - 0x74c]
add eax, dword [ebp - 0x158]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x158]
movsx eax, byte [ebp + edx - 0x850]
or eax, 0x20
cmp ecx, eax
jge 0x439818
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x439822
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x439839
mov ecx, dword [ebp - 0x1c48]
mov dword [ebp - 0x39c], ecx
jmp 0x43984a
jmp 0x439623
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x39c], edx
cmp dword [ebp - 0x39c], 0
je 0x439925
push esi
push edi
add esp, 4
or esi, 0x18242
sub esi, 0xeb6f
xor esi, 0xf705
pop esi
push esi
push ebx
add esp, 4
add esi, 0x155bb
add esi, 0x4029
pop esi
push ebx
or ebx, 0x15d17
pop ebx
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x1c4c], eax
push edi
add edi, 0x6be
call 0x4398ab
add byte [0x393c4742], bh
dec ebp
cmp eax, dword [edi + ecx*2 - 0x7d]
les eax, [edi + ebx*2]
push ebx
push esi
add esp, 4
and ebx, 0x93c8
sub ebx, 0x78fe
xor ebx, 0x134f3
pop ebx
mov ecx, dword [ebp - 0x1c4c]
mov dword [ebp - 0x1c50], ecx
lea edx, [ebp - 0x15e8]
push edx
call dword [ebp - 0x1c50]
test eax, eax
jne 0x439925
push eax
push edx
add esp, 4
sub eax, 0xba9f
jmp 0x4398f8
jmp 0x4398fe
pop eax
push edi
jmp 0x439909
or edi, 0x139a1
and edi, 0x15744
pop edi
mov dword [ebp - 0xa50], 0
jmp 0x43a00f
push ebx
xor ebx, 0xb236
pop ebx
push edi
push esi
add esp, 4
and edi, 0x1646a
and edi, 0xd2f1
add edi, 0xfee7
sub edi, 0xd750
pop edi
push esi
push eax
add esp, 4
sub esi, 0x356b
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c54], eax
mov ecx, dword [ebp - 0x1c54]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1c58], edx
mov eax, dword [ebp - 0x1c58]
mov dword [ebp - 0x157c], eax
push edx
or edx, 0x57b2
sub edx, 0x72da
and edx, 0xe61
call 0x4399a0
add byte [ebx + 0x43], al
cmp dword [eax], edi
xor al, 0x46
dec ecx
inc ebp
xor al, 0x83
les eax, [edx + ebx*2]
push ebx
push ecx
add esp, 4
or ebx, 0x894a
pop ebx
cmp dword [ebp - 0x157c], 0
jne 0x4399c8
mov dword [ebp - 0x2a0], 0
jmp 0x439c6f
mov ecx, dword [ebp - 0x157c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc78], eax
push edx
add edx, 0x1120c
xor edx, 0x145f
xor edx, 0x1163d
pop edx
push eax
push ebx
add esp, 4
xor eax, 0x7f71
and eax, 0xcb2f
and eax, 0x81ae
jmp 0x439a0b
pop eax
cmp dword [ebp - 0xc78], 0
jne 0x439a24
mov dword [ebp - 0x2a0], 0
jmp 0x439c6f
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0x4d8], ecx
push esi
push eax
add esp, 4
or esi, 0xc1c8
pop esi
push eax
sub eax, 0x5309
call 0x439a50
add byte [ecx], bh
aaa
cmp byte [eax + 0x38], al
cmp eax, 0x4c48338
jmp 0x439a5b
xor eax, 0x17c15
pop eax
lea edx, [ebp - 0x15e8]
mov dword [ebp - 0xc74], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc70], ecx
xor edx, edx
mov word [ebp - 0x1c0], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push esi
add esp, 4
add esi, 0x58f1
sub esi, 0x9c2c
pop esi
push edx
push ebx
add esp, 4
or edx, 0x5e72
pop edx
push ebx
sub ebx, 0xe998
xor ebx, 0x14d67
add ebx, 0x13abf
pop ebx
invalid
invalid