Function at 0x4648e0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x642a66
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x74f8a0]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x74f8a0]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xac]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], ebp
call fcn.004be890
mov dword [esp + 0xa4], 0
lea ecx, [esp + 0x2c]
call fcn.004be960
test eax, eax
je 0x464d8b
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x18]
call fcn.004027c0
mov byte [esp + 0xa4], 1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
push ecx
push 0x67bb60
push edx
call fcn.00619a6e
add esp, 0xc
cmp eax, 1
jne 0x464b4e
mov edx, dword [0x754dc0]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x464990
sub eax, esi
cmp eax, 4
jbe 0x464a10
push 5
push edx
lea eax, [esp + 0x98]
push eax
call fcn.006198e0
movsx ecx, byte [esp + 0x9c]
movsx edx, byte [esp + 0x9e]
lea eax, [ecx*8]
sub eax, ecx
movsx ecx, byte [esp + 0x9d]
add eax, ecx
lea ecx, [eax*8]
sub ecx, eax
add ecx, edx
lea eax, [ecx*8]
sub eax, ecx
movsx ecx, byte [esp + 0x9f]
add eax, ecx
lea edx, [eax*8]
sub edx, eax
movsx eax, byte [esp + 0xa0]
add edx, eax
lea eax, [edx + edx + 0x41a7]
add esp, 0xc
add dword [esp + 0x1c], eax
mov esi, dword [esp + 0x14]
fld qword [0x67bb58]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x464a1f
sub eax, edx
cmp eax, 0x20
jae 0x464b54
mov bl, 3
jmp 0x464a44
fld qword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
fild dword [esp + 0x1c]
test ecx, ecx
jge 0x464a56
fadd qword [0x678138]
mov ecx, dword [esi - 0x10]
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
fmul st(1)
mov edx, dword [ecx]
or eax, 0xc00
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
fldcw word [esp + 0x20]
fistp qword [esp + 0x20]
mov ebp, dword [esp + 0x20]
fldcw word [esp + 0x1a]
fadd qword [0x67bb50]
fstp qword [esp + 0x20]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x464aab
cmp eax, dword [esi]
jne 0x464aab
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x464adf
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 0x464b49
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.00617bbe
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [esp + 0x90], esi
mov byte [esp + 0xa4], bl
push ebp
push esi
lea edx, [esp + 0x1c]
push str._s_lx
push edx
call fcn.00402f70
add esp, 0x10
mov byte [esp + 0xa4], 1
add esi, 0xfffffff0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x464b28
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov esi, dword [esp + 0x14]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x464b31
sub eax, edx
cmp eax, 0x20
jb 0x464a40
mov ebp, dword [esp + 0x28]
jmp 0x464b56
call fcn.00401710
mov esi, dword [esp + 0x14]
jmp 0x464b56
fstp st(0)
mov eax, esi
lea edx, [eax + 1]
jmp 0x464b60
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x464b60
sub eax, edx
cmp eax, 0x1f
jbe 0x464d63
mov eax, 0x2d2d2d2d
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
xor ecx, ecx
xor eax, eax
mov edi, 0x1f
test edi, edi
jl 0x464f44
cmp edi, dword [esi - 0xc]
jg 0x464f44
mov dl, byte [edi + esi]
mov byte [esp + eax + 0x34], dl
dec edi
inc ecx
inc eax
cmp edi, 0x17
jg 0x464b98
inc ecx
cmp eax, 0xc
jge 0x464be5
mov edi, 0x1f
sub edi, eax
test edi, edi
jl 0x464f44
cmp edi, dword [esi - 0xc]
jg 0x464f44
mov dl, byte [edi + esi]
mov byte [esp + ecx + 0x34], dl
inc eax
inc ecx
dec edi
cmp eax, 0xc
jl 0x464bc5
inc ecx
cmp eax, 0x10
jge 0x464c12
mov edi, 0x1f
sub edi, eax
test edi, edi
jl 0x464f44
cmp edi, dword [esi - 0xc]
jg 0x464f44
mov dl, byte [edi + esi]
mov byte [esp + ecx + 0x34], dl
inc eax
inc ecx
dec edi
cmp eax, 0x10
jl 0x464bf2
inc ecx
cmp eax, 0x14
jge 0x464c40
mov edi, 0x1f
sub edi, eax
nop
test edi, edi
jl 0x464f44
cmp edi, dword [esi - 0xc]
jg 0x464f44
mov dl, byte [edi + esi]
mov byte [esp + ecx + 0x34], dl
inc eax
inc ecx
dec edi
cmp eax, 0x14
jl 0x464c20
inc ecx
cmp eax, 0x20
jge 0x464c6f
lea edi, [esp + ecx + 0x34]
mov ecx, 0x1f
sub ecx, eax
test ecx, ecx
jl 0x464f44
cmp ecx, dword [esi - 0xc]
jg 0x464f44
mov dl, byte [ecx + esi]
mov byte [edi], dl
inc eax
inc edi
dec ecx
cmp eax, 0x20
jl 0x464c51
lea eax, [esp + 0x74]
mov byte [esp + 0x58], 0
mov byte [esp + 0x74], 0x58
mov byte [esp + 0x75], 0x64
mov byte [esp + 0x76], 0x6d
mov byte [esp + 0x77], 0x7f
mov byte [esp + 0x78], 0x7c
mov byte [esp + 0x79], 0x6a
mov byte [esp + 0x7a], 0x79
mov byte [esp + 0x7b], 0x6e
mov byte [esp + 0x7c], 0x57
mov byte [esp + 0x7d], 0x48
mov byte [esp + 0x7e], 0x67
mov byte [esp + 0x7f], 0x6a
mov byte [esp + 0x80], 0x78
mov byte [esp + 0x81], 0x78
mov byte [esp + 0x82], 0x6e
mov byte [esp + 0x83], 0x78
mov byte [esp + 0x84], 0x57
mov byte [esp + 0x85], 0x48
mov byte [esp + 0x86], 0x47
mov byte [esp + 0x87], 0x58
mov byte [esp + 0x88], 0x42
mov byte [esp + 0x89], 0x4f
mov byte [esp + 0x8a], 0x57
mov byte [esp + 0x8b], 0x70
mov byte [esp + 0x8c], 0x2e
mov byte [esp + 0x8d], 0x78
mov byte [esp + 0x8e], 0x76
mov byte [esp + 0x8f], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x464d37
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x464d50
xor byte [esp + ecx + 0x74], 0xb
inc ecx
cmp ecx, eax
jl 0x464d46
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x78]
push ecx
push ebp
call fcn.00402f70
add esp, 0xc
mov byte [esp + 0xa4], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x464d8b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x464d91
sub eax, edx
jne 0x464f01
mov al, 0x32
mov cl, 0x26
mov dl, 0x3f
mov bl, 0x33
mov byte [esp + 0x51], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x5f], al
mov byte [esp + 0x60], al
mov byte [esp + 0x6b], al
lea eax, [esp + 0x34]
mov byte [esp + 0x54], cl
mov byte [esp + 0x59], cl
mov byte [esp + 0x5e], cl
mov byte [esp + 0x63], cl
mov byte [esp + 0x34], 0x58
mov byte [esp + 0x35], 0x64
mov byte [esp + 0x36], 0x6d
mov byte [esp + 0x37], 0x7f
mov byte [esp + 0x38], 0x7c
mov byte [esp + 0x39], 0x6a
mov byte [esp + 0x3a], 0x79
mov byte [esp + 0x3b], 0x6e
mov byte [esp + 0x3c], 0x57
mov byte [esp + 0x3d], 0x48
mov byte [esp + 0x3e], 0x67
mov byte [esp + 0x3f], 0x6a
mov byte [esp + 0x40], 0x78
mov byte [esp + 0x41], 0x78
mov byte [esp + 0x42], 0x6e
mov byte [esp + 0x43], 0x78
mov byte [esp + 0x44], 0x57
mov byte [esp + 0x45], 0x48
mov byte [esp + 0x46], 0x47
mov byte [esp + 0x47], 0x58
mov byte [esp + 0x48], 0x42
mov byte [esp + 0x49], 0x4f
mov byte [esp + 0x4a], 0x57
mov byte [esp + 0x4b], 0x70
mov byte [esp + 0x4c], dl
mov byte [esp + 0x4d], 0x3e
mov byte [esp + 0x4e], 0x4f
mov byte [esp + 0x4f], 0x3c
mov byte [esp + 0x50], 0x4a
mov byte [esp + 0x52], 0x4d
mov byte [esp + 0x53], 0x4e
mov byte [esp + 0x55], 0x3a
mov byte [esp + 0x56], 0x48
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], dl
mov byte [esp + 0x5a], dl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], dl
mov byte [esp + 0x61], 0x3e
mov byte [esp + 0x62], 0x3a
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], 0x4d
mov byte [esp + 0x66], 0x4f
mov byte [esp + 0x67], 0x3d
mov byte [esp + 0x68], 0x4f
mov byte [esp + 0x69], 0x39
mov byte [esp + 0x6a], 0x38
mov byte [esp + 0x6c], 0x4e
mov byte [esp + 0x6d], 0x3c
mov byte [esp + 0x6e], 0x48
mov byte [esp + 0x6f], 0x3a
mov byte [esp + 0x70], 0x76
mov byte [esp + 0x71], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x464ed5
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x464eee
xor byte [esp + ecx + 0x34], 0xb
inc ecx
cmp ecx, eax
jl 0x464ee4
lea ecx, [esp + 0x34]
push ecx
push 0x66fea8
push ebp
call fcn.00402f70
add esp, 0xc
mov dword [esp + 0xa4], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.004be8f0
mov eax, 1
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.0061807e
add esp, 0x94
ret 4
push 0x80070057
call fcn.00401090
int3