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

Disassembly:
push 0xffffffffffffffff
push 0x622a76
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x70a308]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x70a308]
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.004b4770
mov dword [esp + 0xa4], 0
lea ecx, [esp + 0x2c]
call fcn.004b4840
test eax, eax
je 0x45f68b
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x18]
call fcn.004027d0
mov byte [esp + 0xa4], 1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
push ecx
push 0x65a800
push edx
call fcn.005f9f5e
add esp, 0xc
cmp eax, 1
jne 0x45f44e
mov edx, dword [0x70f7d0]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f290
sub eax, esi
cmp eax, 4
jbe 0x45f310
push 5
push edx
lea eax, [esp + 0x98]
push eax
call fcn.005f9dd0
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 [0x65a7f8]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f31f
sub eax, edx
cmp eax, 0x20
jae 0x45f454
mov bl, 3
jmp 0x45f344
fld qword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
fild dword [esp + 0x1c]
test ecx, ecx
jge 0x45f356
fadd qword [0x656fc8]
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 [0x65a7f0]
fstp qword [esp + 0x20]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x45f3ab
cmp eax, dword [esi]
jne 0x45f3ab
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x45f3df
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 0x45f449
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.005f8127
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.00402f60
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 0x45f428
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 0x45f431
sub eax, edx
cmp eax, 0x20
jb 0x45f340
mov ebp, dword [esp + 0x28]
jmp 0x45f456
call fcn.004016f0
mov esi, dword [esp + 0x14]
jmp 0x45f456
fstp st(0)
mov eax, esi
lea edx, [eax + 1]
jmp 0x45f460
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f460
sub eax, edx
cmp eax, 0x1f
jbe 0x45f663
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 0x45f844
cmp edi, dword [esi - 0xc]
jg 0x45f844
mov dl, byte [edi + esi]
mov byte [esp + eax + 0x34], dl
dec edi
inc ecx
inc eax
cmp edi, 0x17
jg 0x45f498
inc ecx
cmp eax, 0xc
jge 0x45f4e5
mov edi, 0x1f
sub edi, eax
test edi, edi
jl 0x45f844
cmp edi, dword [esi - 0xc]
jg 0x45f844
mov dl, byte [edi + esi]
mov byte [esp + ecx + 0x34], dl
inc eax
inc ecx
dec edi
cmp eax, 0xc
jl 0x45f4c5
inc ecx
cmp eax, 0x10
jge 0x45f512
mov edi, 0x1f
sub edi, eax
test edi, edi
jl 0x45f844
cmp edi, dword [esi - 0xc]
jg 0x45f844
mov dl, byte [edi + esi]
mov byte [esp + ecx + 0x34], dl
inc eax
inc ecx
dec edi
cmp eax, 0x10
jl 0x45f4f2
inc ecx
cmp eax, 0x14
jge 0x45f540
mov edi, 0x1f
sub edi, eax
nop
test edi, edi
jl 0x45f844
cmp edi, dword [esi - 0xc]
jg 0x45f844
mov dl, byte [edi + esi]
mov byte [esp + ecx + 0x34], dl
inc eax
inc ecx
dec edi
cmp eax, 0x14
jl 0x45f520
inc ecx
cmp eax, 0x20
jge 0x45f56f
lea edi, [esp + ecx + 0x34]
mov ecx, 0x1f
sub ecx, eax
test ecx, ecx
jl 0x45f844
cmp ecx, dword [esi - 0xc]
jg 0x45f844
mov dl, byte [ecx + esi]
mov byte [edi], dl
inc eax
inc edi
dec ecx
cmp eax, 0x20
jl 0x45f551
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 0x45f637
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x45f650
xor byte [esp + ecx + 0x74], 0xb
inc ecx
cmp ecx, eax
jl 0x45f646
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x78]
push ecx
push ebp
call fcn.00402f60
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 0x45f68b
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 0x45f691
sub eax, edx
jne 0x45f801
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 0x45f7d5
sub eax, ecx
xor ecx, ecx
test eax, eax
jle 0x45f7ee
xor byte [esp + ecx + 0x34], 0xb
inc ecx
cmp ecx, eax
jl 0x45f7e4
lea ecx, [esp + 0x34]
push ecx
push 0x64edec
push ebp
call fcn.00402f60
add esp, 0xc
mov dword [esp + 0xa4], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.004b47d0
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.005f85e7
add esp, 0x94
ret 4
push 0x80070057
call fcn.00401090
int3