Function at 0x469930
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x64b858
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x758898]
xor eax, esp
mov dword [esp + 0x94], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x758898]
xor eax, esp
push eax
lea eax, [esp + 0xac]
mov dword fs:[0], eax
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x30], eax
call fcn.004c4b00
mov dword [esp + 0xb4], 0
lea ecx, [esp + 0x3c]
call fcn.004c4bd0
test eax, eax
je 0x46a073
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x24]
push edx
push 0x684f78
push eax
call fcn.0062257e
add esp, 0xc
cmp eax, 1
jne 0x46a073
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x4699d6
mov dword [esp + 0x24], 0x40000000
mov edx, dword [0x75ddbc]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4699e1
sub eax, edi
cmp eax, 4
jbe 0x469a4f
push 5
push edx
lea ecx, [esp + 0xa8]
push ecx
call fcn.006223f0
movsx eax, byte [esp + 0xac]
movsx edx, byte [esp + 0xad]
movsx ecx, byte [esp + 0xae]
lea eax, [eax + eax*4]
add eax, edx
movsx edx, byte [esp + 0xaf]
lea eax, [eax + eax*4]
add eax, ecx
movsx ecx, byte [esp + 0xb0]
lea eax, [eax + eax*4]
add eax, edx
lea eax, [eax + eax*4]
add eax, ecx
lea eax, [eax + eax + 0xc35]
add esp, 0xc
mov byte [esp + 0xa5], 0
add esi, eax
lea ecx, [esp + 0x18]
call fcn.004024f0
mov byte [esp + 0xb4], 1
fld qword [0x684fb0]
mov eax, 0xaaaaaaab
mul esi
mov esi, dword [esp + 0x18]
mov edi, edx
mov eax, esi
shr edi, 1
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469a7a
sub eax, edx
cmp eax, 0x20
jae 0x469b6c
mov bl, 3
jmp 0x469a94
fld qword [esp + 0x28]
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
test edi, edi
jge 0x469aa6
fadd qword [0x681410]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x1c], eax
mov eax, esi
fldcw word [esp + 0x1c]
lea edx, [eax + 1]
fistp qword [esp + 0x28]
mov edi, dword [esp + 0x28]
fldcw word [esp + 0x16]
fadd qword [0x684fa8]
fstp qword [esp + 0x28]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469ae0
sub eax, edx
je 0x469b3c
lea eax, [esi - 0x10]
push eax
call fcn.00402100
lea esi, [eax + 0x10]
mov dword [esp + 0x38], esi
mov byte [esp + 0xb8], bl
push edi
push esi
lea edx, [esp + 0x24]
push str._s_lx
push edx
call fcn.00402f60
add esp, 0x14
mov byte [esp + 0xb4], 1
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x469b4f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x469b4f
push edi
lea ecx, [esp + 0x1c]
push 0x684f78
push ecx
call fcn.00402f60
add esp, 0xc
mov esi, dword [esp + 0x18]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469b58
sub eax, edx
cmp eax, 0x20
jb 0x469a90
jmp 0x469b6e
fstp st(0)
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469b73
sub eax, edx
cmp eax, 0x1f
jbe 0x469d97
mov eax, 0x2d2d2d2d
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov ebp, esi
lea edx, [esp + 0x44]
xor ecx, ecx
xor eax, eax
sub ebp, edx
mov edi, edi
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
lea edi, [esp + eax + 0x44]
mov dl, byte [edi + ebp]
inc eax
inc ecx
cmp eax, 8
mov byte [edi], dl
jl 0x469bb0
inc ecx
cmp eax, 0xc
jge 0x469bf6
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [esp + ecx + 0x44], dl
inc eax
inc ecx
cmp eax, 0xc
jl 0x469bd7
inc ecx
cmp eax, 0x10
jge 0x469c1f
lea esp, [esp]
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [esp + ecx + 0x44], dl
inc eax
inc ecx
cmp eax, 0x10
jl 0x469c00
inc ecx
cmp eax, 0x14
jge 0x469c44
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [esp + ecx + 0x44], dl
inc eax
inc ecx
cmp eax, 0x14
jl 0x469c25
inc ecx
cmp eax, 0x20
jge 0x469c6d
lea ecx, [esp + ecx + 0x44]
mov edi, edi
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [ecx], dl
inc eax
inc ecx
cmp eax, 0x20
jl 0x469c50
lea eax, [esp + 0x84]
mov byte [esp + 0x68], 0
mov byte [esp + 0x84], 0x44
mov byte [esp + 0x85], 0x78
mov byte [esp + 0x86], 0x71
mov byte [esp + 0x87], 0x63
mov byte [esp + 0x88], 0x60
mov byte [esp + 0x89], 0x76
mov byte [esp + 0x8a], 0x65
mov byte [esp + 0x8b], 0x72
mov byte [esp + 0x8c], 0x4b
mov byte [esp + 0x8d], 0x54
mov byte [esp + 0x8e], 0x7b
mov byte [esp + 0x8f], 0x76
mov byte [esp + 0x90], 0x64
mov byte [esp + 0x91], 0x64
mov byte [esp + 0x92], 0x72
mov byte [esp + 0x93], 0x64
mov byte [esp + 0x94], 0x4b
mov byte [esp + 0x95], 0x54
mov byte [esp + 0x96], 0x5b
mov byte [esp + 0x97], 0x44
mov byte [esp + 0x98], 0x5e
mov byte [esp + 0x99], 0x53
mov byte [esp + 0x9a], 0x4b
mov byte [esp + 0x9b], 0x6c
mov byte [esp + 0x9c], 0x32
mov byte [esp + 0x9d], 0x64
mov byte [esp + 0x9e], 0x6a
mov byte [esp + 0x9f], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x469d60
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x469d7d
nop
xor byte [esp + ecx + 0x84], 0x17
inc ecx
cmp ecx, eax
jl 0x469d70
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.00402f60
add esp, 0xc
call fcn.005fe50e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x469dbb
push 0x80004005
call fcn.00401090
push 0x80070057
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x1c], esi
mov bl, 6
mov byte [esp + 0xb4], bl
fld qword [0x684fa0]
mov eax, 0xcccccccd
mul dword [esp + 0x24]
mov ebp, edx
mov eax, esi
shr ebp, 2
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469ded
sub eax, edx
cmp eax, 0x20
jb 0x46a3d4
fstp st(0)
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469e06
sub eax, edx
cmp eax, 0x1f
jbe 0x46a027
mov eax, 0x2d2d2d2d
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov ebp, esi
lea edx, [esp + 0x44]
xor ecx, ecx
xor eax, eax
sub ebp, edx
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
lea edi, [esp + eax + 0x44]
mov dl, byte [edi + ebp]
inc eax
inc ecx
cmp eax, 8
mov byte [edi], dl
jl 0x469e41
inc ecx
cmp eax, 0xc
jge 0x469e87
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [esp + ecx + 0x44], dl
inc eax
inc ecx
cmp eax, 0xc
jl 0x469e68
inc ecx
cmp eax, 0x10
jge 0x469eaf
lea ecx, [ecx]
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [esp + ecx + 0x44], dl
inc eax
inc ecx
cmp eax, 0x10
jl 0x469e90
inc ecx
cmp eax, 0x14
jge 0x469ed4
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [esp + ecx + 0x44], dl
inc eax
inc ecx
cmp eax, 0x14
jl 0x469eb5
inc ecx
cmp eax, 0x20
jge 0x469efd
lea ecx, [esp + ecx + 0x44]
mov edi, edi
test eax, eax
jl 0x469db1
cmp eax, dword [esi - 0xc]
jg 0x469db1
mov dl, byte [eax + esi]
mov byte [ecx], dl
inc eax
inc ecx
cmp eax, 0x20
jl 0x469ee0
lea eax, [esp + 0x84]
mov byte [esp + 0x68], 0
mov byte [esp + 0x84], 0x44
mov byte [esp + 0x85], 0x78
mov byte [esp + 0x86], 0x71
mov byte [esp + 0x87], 0x63
mov byte [esp + 0x88], 0x60
mov byte [esp + 0x89], 0x76
mov byte [esp + 0x8a], 0x65
mov byte [esp + 0x8b], 0x72
mov byte [esp + 0x8c], 0x4b
mov byte [esp + 0x8d], 0x54
mov byte [esp + 0x8e], 0x7b
mov byte [esp + 0x8f], 0x76
mov byte [esp + 0x90], 0x64
mov byte [esp + 0x91], 0x64
mov byte [esp + 0x92], 0x72
mov byte [esp + 0x93], 0x64
mov byte [esp + 0x94], 0x4b
mov byte [esp + 0x95], 0x54
mov byte [esp + 0x96], 0x5b
mov byte [esp + 0x97], 0x44
mov byte [esp + 0x98], 0x5e
mov byte [esp + 0x99], 0x53
mov byte [esp + 0x9a], 0x4b
mov byte [esp + 0x9b], 0x6c
mov byte [esp + 0x9c], 0x32
mov byte [esp + 0x9d], 0x64
mov byte [esp + 0x9e], 0x6a
mov byte [esp + 0x9f], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x469ff0
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x46a00d
nop
xor byte [esp + ecx + 0x84], 0x17
inc ecx
cmp ecx, eax
jl 0x46a000
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x88]
push ecx
push edx
call fcn.00402f60
add esp, 0xc
mov byte [esp + 0xb4], 1
add esi, 0xfffffff0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46a04b
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [esp + 0xb4], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46a073
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46a080
sub eax, ecx
mov bl, 0x22
jne 0x46a201
mov al, 0x27
mov byte [esp + 0x6b], al
mov byte [esp + 0x72], al
lea eax, [esp + 0x44]
mov byte [esp + 0x44], 0x44
mov byte [esp + 0x45], 0x78
mov byte [esp + 0x46], 0x71
mov byte [esp + 0x47], 0x63
mov byte [esp + 0x48], 0x60
mov byte [esp + 0x49], 0x76
mov byte [esp + 0x4a], 0x65
mov byte [esp + 0x4b], 0x72
mov byte [esp + 0x4c], 0x4b
mov byte [esp + 0x4d], 0x54
mov byte [esp + 0x4e], 0x7b
mov byte [esp + 0x4f], 0x76
mov byte [esp + 0x50], 0x64
mov byte [esp + 0x51], 0x64
mov byte [esp + 0x52], 0x72
mov byte [esp + 0x53], 0x64
mov byte [esp + 0x54], 0x4b
mov byte [esp + 0x55], 0x54
mov byte [esp + 0x56], 0x5b
mov byte [esp + 0x57], 0x44
mov byte [esp + 0x58], 0x5e
mov byte [esp + 0x59], 0x53
mov byte [esp + 0x5a], 0x4b
mov byte [esp + 0x5b], 0x6c
mov byte [esp + 0x5c], 0x55
mov byte [esp + 0x5d], 0x24
mov byte [esp + 0x5e], 0x21
mov byte [esp + 0x5f], 0x25
mov byte [esp + 0x60], 0x2e
mov byte [esp + 0x61], 0x53
mov byte [esp + 0x62], 0x51
mov byte [esp + 0x63], 0x2e
mov byte [esp + 0x64], 0x3a
mov byte [esp + 0x65], bl
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], 0x54
mov byte [esp + 0x68], 0x21
mov byte [esp + 0x69], 0x3a
mov byte [esp + 0x6a], 0x23
mov byte [esp + 0x6c], 0x24
mov byte [esp + 0x6d], 0x23
mov byte [esp + 0x6e], 0x3a
mov byte [esp + 0x6f], 0x2e
mov byte [esp + 0x70], 0x2f
mov byte [esp + 0x71], 0x21
mov byte [esp + 0x73], 0x3a
mov byte [esp + 0x74], 0x53
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], 0x52
mov byte [esp + 0x77], 0x23
mov byte [esp + 0x78], 0x23
mov byte [esp + 0x79], 0x56
mov byte [esp + 0x7a], 0x56
mov byte [esp + 0x7b], 0x25
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7d], 0x21
mov byte [esp + 0x7e], 0x56
mov byte [esp + 0x7f], bl
mov byte [esp + 0x80], 0x6a
mov byte [esp + 0x81], dl
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46a1d0
sub eax, esi
xor ecx, ecx
test eax, eax
jle 0x46a1ea
nop
xor byte [esp + ecx + 0x44], 0x17
inc ecx
cmp ecx, eax
jl 0x46a1e0
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x44]
push edx
push 0x678ea8
push eax
call fcn.00402f60
add esp, 0xc
mov esi, dword [esp + 0x38]
mov eax, dword [esi]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46a210
sub eax, edx
jne 0x46a38d
mov al, 0x26
mov byte [esp + 0x60], al
mov byte [esp + 0x61], al
lea eax, [esp + 0x44]
mov byte [esp + 0x81], cl
mov byte [esp + 0x44], 0x44
mov byte [esp + 0x45], 0x78
mov byte [esp + 0x46], 0x71
mov byte [esp + 0x47], 0x63
mov byte [esp + 0x48], 0x60
mov byte [esp + 0x49], 0x76
mov byte [esp + 0x4a], 0x65
mov byte [esp + 0x4b], 0x72
mov byte [esp + 0x4c], 0x4b
mov byte [esp + 0x4d], 0x54
mov byte [esp + 0x4e], 0x7b
mov byte [esp + 0x4f], 0x76
mov byte [esp + 0x50], 0x64
mov byte [esp + 0x51], 0x64
mov byte [esp + 0x52], 0x72
mov byte [esp + 0x53], 0x64
mov byte [esp + 0x54], 0x4b
mov byte [esp + 0x55], 0x54
mov byte [esp + 0x56], 0x5b
mov byte [esp + 0x57], 0x44
mov byte [esp + 0x58], 0x5e
mov byte [esp + 0x59], 0x53
mov byte [esp + 0x5a], 0x4b
mov byte [esp + 0x5b], 0x6c
mov byte [esp + 0x5c], 0x2f
mov byte [esp + 0x5d], 0x21
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], 0x23
mov byte [esp + 0x62], 0x56
mov byte [esp + 0x63], 0x2e
mov byte [esp + 0x64], 0x3a
mov byte [esp + 0x65], 0x2f
mov byte [esp + 0x66], 0x25
mov byte [esp + 0x67], 0x56
mov byte [esp + 0x68], 0x52
mov byte [esp + 0x69], 0x3a
mov byte [esp + 0x6a], 0x23
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], 0x24
mov byte [esp + 0x6d], 0x25
mov byte [esp + 0x6e], 0x3a
mov byte [esp + 0x6f], 0x2e
mov byte [esp + 0x70], 0x54
mov byte [esp + 0x71], 0x56
mov byte [esp + 0x72], 0x21
mov byte [esp + 0x73], 0x3a
mov byte [esp + 0x74], 0x2f
mov byte [esp + 0x75], 0x24
mov byte [esp + 0x76], 0x52
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], 0x24
mov byte [esp + 0x79], 0x25
mov byte [esp + 0x7a], 0x25
mov byte [esp + 0x7b], 0x54
mov byte [esp + 0x7c], 0x52
mov byte [esp + 0x7d], 0x52
mov byte [esp + 0x7e], 0x25
mov byte [esp + 0x7f], 0x2e
mov byte [esp + 0x80], 0x6a
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46a360
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x46a37a
nop
xor byte [esp + ecx + 0x44], 0x17
inc ecx
cmp ecx, eax
jl 0x46a370
lea ecx, [esp + 0x44]
push ecx
push 0x678ea8
push esi
call fcn.00402f60
add esp, 0xc
mov dword [esp + 0xb4], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.004c4b60
mov eax, 1
mov ecx, dword [esp + 0xac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.00620b8d
add esp, 0xa4
ret 8
fld qword [esp + 0x28]
mov dword [esp + 0x34], ebp
fild dword [esp + 0x34]
test ebp, ebp
jge 0x46a3e6
fadd qword [0x681410]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x20], eax
mov eax, esi
lea edx, [eax + 1]
fldcw word [esp + 0x20]
fistp qword [esp + 0x28]
mov ebp, dword [esp + 0x28]
fldcw word [esp + 0x16]
fadd qword [0x684f88]
fstp qword [esp + 0x28]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46a420
sub eax, edx
je 0x46a4d5
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x46a456
cmp eax, dword [esi]
jne 0x46a456
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x46a48a
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x46a508
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.006206cd
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [esp + 0xa0], esi
mov byte [esp + 0xb4], 8
push ebp
push esi
lea edx, [esp + 0x24]
push str._s_lx
push edx
call fcn.00402f60
add esp, 0x10
mov byte [esp + 0xb4], bl
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46a4e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x46a4e8
push ebp
lea ecx, [esp + 0x20]
push 0x684f78
push ecx
call fcn.00402f60
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46a4f1
sub eax, edx
cmp eax, 0x20
jb 0x46a3d0
jmp 0x469e01
call fcn.00401700
int3