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

Disassembly:
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x10041333
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x197c]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1d04]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1980]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1984], eax
mov dword [ebp - 0x1a0], 0
jmp 0x10041197
mov ecx, dword [ebp - 0x1a0]
add ecx, 1
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
test eax, eax
je 0x10041249
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x10041249
push edx
push edi
add esp, 4
add edx, 0x7fba
add edx, 0xba53
pop edx
push edi
push ecx
add esp, 4
and edi, 0x6be5
or edi, 0x8c43
jmp 0x100411ef
sub edi, 0x9bf5
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x1004123b
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x10041242
jmp 0x10041188
jmp 0x10041249
push ebx
push edx
add esp, 4
and ebx, 0x10b54
xor ebx, 0x1485
add ebx, 0x13bde
xor ebx, 0xf9a5
pop ebx
push eax
add eax, 0xd56a
pop eax
push ecx
push ebx
add esp, 4
xor ecx, 0x1726d
pop ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x100412a8
mov dword [ebp - 0xcb8], 0
jmp 0x10041317
push edx
push edi
add esp, 4
sub edx, 0x57f0
jmp method.SOUI::SHostWnd.virtual_68
sub edx, 0x5878
pop edx
push esi
push ecx
add esp, 4
xor esi, 0x175c9
leave
jne 0x100412cd
add byte [ecx + 0xe671ee], al
jno 0x100412b7
add byte [eax], al
add esi, 0x13942
pop esi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x1004130d
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x10041317
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x1004132e
mov ecx, dword [ebp - 0x1984]
mov dword [ebp - 0x510], ecx
jmp 0x1004133f
jmp 0x10041118
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edi
jmp 0x10041354
pop edi
push edi
add edi, 0x17e51
pop edi
push edi
call 0x1004136d
add byte [ebx + 0x4a], al
xor al, byte [edx + esi + 0x38]
inc esp
dec eax
add esp, 4
or edi, 0x979f
add edi, 0xf7b3
pop edi
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xe
mov dword [ebp - 0x19d4], ecx
push ecx
push ebx
add esp, 4
xor ecx, 0x14f03
pop ecx
push eax
push ebx
add esp, 4
and eax, 0x18b2
or eax, 0x13f5a
sub eax, 0x173f1
pop eax
push edi
or edi, 0x1482a
add edi, 0x6f27
pop edi
cmp dword [ebp - 0x3f8], 0
je 0x100413d0
cmp dword [ebp - 0xab4], 0
jne 0x10041416
push edx
sub edx, 0xb883
add edx, 0xf350
pop edx
push eax
push edi
add esp, 4
jmp 0x100413e9
pop eax
push edi
push eax
add esp, 4
and edi, 0x5795
add edi, 0xe220
or edi, 0xedda
pop edi
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1988], edx
push 0
call dword [ebp - 0x1988]
mov dword [ebp - 0x2090], 0xa
push eax
push eax
add esp, 4
jmp 0x1004142c
pop eax
push ecx
or ecx, 0xc573
or ecx, 0x3a2e
call 0x10041448
add byte [edx + edi + 0x36], cl
dec edi
inc esp
dec eax
dec esp
inc edi
add esp, 4
or ecx, 0x9739
pop ecx
mov eax, dword [ebp - 0x3f8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab4]
sub edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x168c], edx
mov dword [ebp - 0xce8], 0
push edi
sub edi, 0xfead
call 0x10041491
add byte [edx], bh
dec edi
inc esi
xor edi, dword [ecx + edi]
dec ecx
add esp, 4
xor edi, 0x13605
jmp 0x100414a0
pop edi
push eax
add eax, 0x16502
xor eax, 0x111c0
pop eax
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push eax
push eax
add esp, 4
sub eax, 0x3b3a
or eax, 0x9ac8
sub eax, 0x71c1
pop eax
push ebx
or ebx, 0x12245
xor ebx, 0x659
xor ebx, 0x154fe
xor ebx, 0x9a7c
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x198c], eax
mov ecx, dword [ebp - 0x198c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1990], edx
mov eax, dword [ebp - 0x1990]
mov dword [ebp - 0x160c], eax
push esi
push eax
add esp, 4
sub esi, 0x12a5d
add esi, 0x13b6a
pop esi
push eax
push edi
add esp, 4
and eax, 0x1313
sub eax, 0x1098c
or eax, 0x137f9
pop eax
push edi
sub edi, 0x10fe8
pop edi
cmp dword [ebp - 0x160c], 0
jne 0x100415bb
mov dword [ebp - 0x314], 0
jmp 0x10041862
mov ecx, dword [ebp - 0x160c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push ecx
push esi
add esp, 4
sub ecx, 0x8a30
add ecx, 0x3bad
and ecx, 0x1330a
pop ecx
push edi
xor edi, 0x2d9c
or edi, 0x6f72
xor edi, 0x1e65
xor edi, 0x5c56
pop edi
cmp dword [ebp - 0xcc4], 0
jne 0x10041617
mov dword [ebp - 0x314], 0
jmp 0x10041862
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push esi
push ecx
add esp, 4
xor esi, 0x12e3a
xor esi, 0x15e9f
sub esi, 0x126e0
or esi, 0xc101
pop esi
push ebx
sub ebx, 0xd884
add ebx, 0x132f6
and ebx, 0x129b4
pop ebx
lea edx, [ebp - 0x1734]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edx
push edx
add esp, 4
or edx, 0x13950
pop edx
push ebx
push edx
add esp, 4
add ebx, 0x8c1e
jmp 0x1004169f
or ebx, 0xbfcb
pop ebx
push ecx
jmp 0x100416b0
pop ecx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push esi
push esi
add esp, 4
xor esi, 0x133c7
jmp 0x10041719
pop esi
push edi
xor edi, 0x18679
and edi, 0x127be
call 0x10041736
add byte [edx + 0x3f], cl
inc eax
dec esp
dec eax
xor eax, 0x834a3841
les eax, [edi + ebx*2]
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x10041757
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1614], ecx
jmp 0x100417b1
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x1004167f
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x1004167f
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x1004179b
mov dword [ebp - 0x1610], 0xffffffff
jmp 0x100417a5
mov dword [ebp - 0x1610], 1
mov eax, dword [ebp - 0x1610]
mov dword [ebp - 0x1614], eax
cmp dword [ebp - 0x1614], 0
jne 0x100417fa
push eax
push ebx
add esp, 4
or eax, 0xcc32
or eax, 0x1f47
jmp 0x100417d4
and eax, 0x12055
pop eax
push esi
call 0x100417e8
add byte [eax + 0x4f], dl
cmp edi, dword [esi]
aaa
inc esp
add esp, 4
pop esi
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x314], ecx
jmp 0x10041862
push ecx
push eax
add esp, 4
jmp 0x10041804
jmp 0x1004180d
pop ecx
push ecx
sub ecx, 0x11017
or ecx, 0xafd5
pop ecx
push eax
sub eax, 0x214b
jmp 0x1004182b
pop eax
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x10041858
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x10041623
mov dword [ebp - 0x314], 0
push edi
push ecx
add esp, 4
jmp 0x1004186d
add edi, 0x152c7
add edi, 0x15bc2
or edi, 0x93fd
pop edi
push ebx
push eax
add esp, 4
or ebx, 0x15a56
pop ebx
push ecx
or ecx, 0x1372c
pop ecx
cmp dword [ebp - 0x314], 0
jne 0x10042199
mov eax, 0x6b
mov word [ebp - 0x178c], ax
mov ecx, 0x65
mov word [ebp - 0x178a], cx
mov edx, 0x72
mov word [ebp - 0x1788], dx
mov eax, 0x6e
mov word [ebp - 0x1786], ax
mov ecx, 0x65
mov word [ebp - 0x1784], cx
mov edx, 0x6c
mov word [ebp - 0x1782], dx
mov eax, 0x33
mov word [ebp - 0x1780], ax
mov ecx, 0x32
mov word [ebp - 0x177e], cx
mov edx, 0x2e
mov word [ebp - 0x177c], dx
mov eax, 0x64
mov word [ebp - 0x177a], ax
mov ecx, 0x6c
mov word [ebp - 0x1778], cx
mov edx, 0x6c
mov word [ebp - 0x1776], dx
xor eax, eax
mov word [ebp - 0x1774], ax
push ecx
and ecx, 0x4a56
sub ecx, 0xb8dd
or ecx, 0x1262f
pop ecx
push ebx
push esi
add esp, 4
xor ebx, 0x411e
call 0x10041968
add byte [esi + 0x4f], al
dec esp
aaa
dec edx
inc eax
inc edi
add esp, 4
pop ebx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
idiv edi
push dword [edx - 0x3a]
test dword [esi - 9], esp
idiv di
invalid
jns 0x10041980
test dword [edi - 9], esp
invalid
call dword [edi - 0x3a]
test dword [eax - 9], ebp
invalid
inc dword [eax]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1994], ecx
mov edx, dword [ebp - 0x1994]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x1998]
mov dword [ebp - 0x1618], ecx
push edi
push ecx
add esp, 4
jmp 0x100419fa
pop edi
push edx
push eax
add esp, 4
sub edx, 0x3272
xor edx, 0xb392
and edx, 0x4104
pop edx
push esi
add esi, 0x59fb
sub esi, 0x14480
pop esi
cmp dword [ebp - 0x1618], 0
jmp 0x85051a28
invalid
mov dword [ebp - 0x774], 0
jmp 0x10041ce0
mov edx, dword [ebp - 0x1618]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push esi
push edx
add esp, 4
or esi, 0x116c
or esi, 0x14d0f
and esi, 0x1375f
pop esi
push ecx
sub ecx, 0x14402
xor ecx, 0xbaf5
pop ecx
push edx
push eax
add esp, 4
or edx, 0x8905
pop edx
cmp dword [ebp - 0xcd0], 0
jne 0x10041a95
mov dword [ebp - 0x774], 0
jmp 0x10041ce0
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push esi
sub esi, 0x25fe
jmp 0x10041aae
sub esi, 0xe25c
pop esi
push esi
push ebx
add esp, 4
add al, 0x81
invalid
arpl word [edi], sp
add dword [eax], eax
or esi, 0x9e68
sub esi, 0x14fd
std
adc al, 0
add byte [ecx + 0xab0cce], al
add byte [esi - 0x73], bl
test dword [eax + ebp*8 - 1], esi
dec dword [ecx - 0xccb7b]
dec dword [ebx - 0x51773]
dec dword [ebx - 0x6a76cfaf]
cmp bl, dh
invalid
push dword [ebx]
shl byte [esi - 0x77], 0x85
in al, 0xfd
invalid
push dword [ebx]
leave
mov word [ebp - 0x3c], cx
mov dword [ebp - 0x3c], ecx
push ecx
call 0x10041b0e
add byte [edx + 0x33], cl
dec eax
dec esp
dec ebp
dec ecx
dec ecx
dec esi
cmp byte [ebx], dh
add esp, 4
call 0x10041b20
add byte [ecx + 0x47], al
xor ecx, dword [eax + 0x3b]
dec ebx
cmp eax, 0xc4835041
add al, 0xeb
add eax, dword [ebx + 0x3a]
xor eax, 0xe96f181
xchg esi, eax
push cs
add byte [eax], al
pop ecx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov dword [ebp - 0x1042], eax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x21c], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
or byte [esi - 0x77], ah
lea edi, [edi + ebp*8 - 0x6a740001]
xor al, 0xf3
invalid
inc dword [ebx - 0x6a76fd3e]
xor al, 0xf3
invalid
jmp dword [esi - 0x75]
test dword [edi + ebp*8 - 0x76990001], edi
inc ebp
les edx, [edx - 0x7f]
ret 0x2466
add dword [eax], eax
pop edx
push ecx
sub ecx, 0x287
xor ecx, 0x10be0
add ecx, 0xd677
xor ecx, 0x1706e
pop ecx
push eax
add eax, 0x2ac
jmp 0x10041bb7
pop eax
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x10041bd5
movzx edx, word [ebp - 0x21c]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1620], edx
jmp 0x10041c2f
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x10041afd
movzx eax, word [ebp - 0x21c]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x10041afd
movzx edx, word [ebp - 0x21c]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x10041c19
mov dword [ebp - 0x161c], 0xffffffff
jmp 0x10041c23
mov dword [ebp - 0x161c], 1
mov ecx, dword [ebp - 0x161c]
mov dword [ebp - 0x1620], ecx
cmp dword [ebp - 0x1620], 0
jne 0x10041c78
push edi
push edx
add esp, 4
add edi, 0x11e68
pop edi
push ebx
add ebx, 0x10627
add ebx, 0x133b2
call 0x10041c5e
add byte [edi + edi + 0x50], al
inc eax
inc esp
add esp, 4
pop ebx
push eax
add eax, 0x2185
pop eax
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x10041ce0
push edx
push edi
add esp, 4
add edx, 0x8710
pop edx
push ebx
add ebx, 0xba1e
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0xca3e
add ecx, 0xb88a
and ecx, 0x3984
or ecx, 0x12fa1
pop ecx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x10041cd6
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x10041aa1
mov dword [ebp - 0x774], 0
push edx
push eax
add esp, 4
or edx, 0x87cc
jmp 0x10041cf3
jmp 0x10041cfb
and edx, 0x1775
pop edx
push edi
jmp 0x10041d0b
and edi, 0x183de
pop edi
cmp dword [ebp - 0x774], 0
jne 0x10041d5c
push esi
add esi, 0x101a1
add esi, 0xf7f3
and esi, 0x10780
jmp 0x10041d34
pop esi
push ecx
push ebx
add esp, 4
or ecx, 0x9134
add ecx, 0x1340d
or ecx, 0x9e11
pop ecx
mov dword [ebp - 0xab0], 0
jmp 0x10042884
push edi
xor edi, 0x32e7
and edi, 0x88ae
pop edi
push edx
xor edx, 0x2bea
call 0x10041d7e
add byte [ecx + edi + 0x33], cl
xor dh, byte [esi]
xor eax, 0x4c4834d
xor edx, 0x169fb
sub edx, 0x12612
pop edx
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1664], eax
cmp dword [ebp - 0x1664], 0
jne 0x10041dcd
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], ecx
jmp 0x100420be
mov edx, dword [ebp - 0x1664]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1668], eax
jne 0x10041df5
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], ecx
jmp 0x100420be
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1668]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x166c], edx
cmp dword [ebp - 0x166c], 0
jne 0x10041e27
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], eax
jmp 0x100420be
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x166c]
mov dword [ebp - 0x778], ecx
jne 0x10041e4c
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f4], edx
jmp 0x100420be
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
invalid
inc dword [ebx]
push ecx
sbb al, 0x89
xchg ebp, eax
pop esp
out 0xff, al
inc edi
test dword [eax + edi*8 + 0xffff], eax
add byte [eax], al
jmp 0x10041ea6