Function at 0x45a0aa
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
lea ecx, [ebp - 0x3c]
push ebx
push esi
push edi
push 0x494070
call fcn.00403ae8
mov esi, dword [ebp + 0xc]
xor ecx, ecx
cmp byte [ebp + 0x10], cl
je 0x45a127
mov eax, ecx
mov edx, ecx
mov edi, ecx
cmp dword [esi + 0x10], eax
jbe 0x45a108
cmp dword [esi + 0x14], 0x10
mov ebx, esi
jb 0x45a0e2
mov ebx, dword [esi]
cmp byte [ebx + ecx], 0x5c
jne 0x45a0f9
inc edx
cmp edx, 2
jne 0x45a0f3
lea edi, [ecx + 1]
jmp 0x45a0f9
cmp edx, 3
cmove eax, ecx
inc ecx
cmp ecx, dword [esi + 0x10]
jb 0x45a0d8
test eax, eax
je 0x45a108
sub eax, edi
push eax
jmp 0x45a10a
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
call fcn.00461a57
push eax
lea ecx, [ebp - 0x3c]
call fcn.00403a82
lea ecx, [ebp - 0x54]
call fcn.00403b2e
push 5
mov cl, 0x3b
mov dword [ebp - 0xe], 0x5e4b743b
mov word [ebp - 0xa], 0x5a49
xor eax, eax
mov byte [ebp - 8], 0
pop ebx
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, ebx
jae 0x45a14d
mov cl, byte [ebp - 0xe]
jmp 0x45a13f
push ecx
lea eax, [ebp - 0xd]
mov byte [ebp - 8], 0
push eax
mov ecx, esi
call fcn.00403966
cmp eax, 0xffffffff
je 0x45a211
cmp byte [ebp + 0x10], 0
je 0x45a1d9
mov cl, 0x55
mov dword [ebp - 0x1e], 0x6275605f
mov al, 0x7c
mov byte [ebp + 0x11], cl
xor edx, edx
mov dword [ebp - 0x1a], 0x65383071
xor al, cl
mov byte [ebp + 0x13], dl
push 0x10
pop ecx
mov byte [ebp + 0x12], al
mov eax, edx
mov byte [ebp - 0x1f], cl
mov dword [ebp - 0x16], 0x2a627563
mov word [ebp - 0x12], 0x30
xor byte [ebp + eax - 0x1e], cl
inc eax
cmp eax, 0xd
jae 0x45a1af
mov cl, byte [ebp - 0x1f]
jmp 0x45a1a0
lea eax, [ebp + 0x12]
mov byte [ebp - 0x11], dl
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x1e]
lea ecx, [ebp - 0x54]
call fcn.00462a8c
pop ecx
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.00403d96
pop ecx
lea ecx, [ebp - 0x54]
jmp 0x45a5f2
mov cl, 0x6e
mov dword [ebp - 0xe], 0xb1e216e
mov word [ebp - 0xa], 0xf1c
xor eax, eax
mov byte [ebp - 8], 0
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, ebx
jae 0x45a1fc
mov cl, byte [ebp - 0xe]
jmp 0x45a1ee
mov byte [ebp - 8], 0
lea eax, [ebp - 0xd]
mov ecx, dword [ebp + 8]
push eax
call fcn.00403ae8
jmp 0x45a5f7
movaps xmm0, xmmword [0x49d730]
xor ecx, ecx
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x110c
mov al, byte [ebp - 0x24]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x12
jb 0x45a225
push ecx
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
mov ecx, esi
call fcn.00403966
cmp eax, 0xffffffff
jne 0x45a27a
movaps xmm0, xmmword [str.4W____QG]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x45a254
push ecx
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x11], 0
push eax
mov ecx, esi
call fcn.00403966
cmp eax, 0xffffffff
je 0x45a400
mov cl, 0x35
mov dword [ebp - 0x10], 0x545a6735
mov dword [ebp - 0xc], 0x525b5c58
xor eax, eax
mov byte [ebp - 8], 0
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 7
jae 0x45a29f
mov cl, byte [ebp - 0x10]
jmp 0x45a290
push ecx
lea eax, [ebp - 0xf]
mov byte [ebp - 8], 0
push eax
mov ecx, esi
call fcn.00403966
cmp eax, 0xffffffff
je 0x45a56a
or eax, 0xffffffff
mov dword [ebp - 0x19], 0x27291446
or edi, eax
mov dword [ebp + 0xc], eax
xor edx, edx
mov dword [ebp - 0x15], 0x21282f2b
mov dword [ebp - 0xc], edx
mov cl, 0x46
mov byte [ebp - 0x11], dl
mov eax, edx
xor byte [ebp + eax - 0x18], cl
inc eax
cmp eax, 7
jae 0x45a2e9
mov cl, byte [ebp - 0x19]
jmp 0x45a2da
push ecx
lea eax, [ebp - 0x18]
mov byte [ebp - 0x11], dl
push eax
mov ecx, esi
call fcn.00403966
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
cmp dword [esi + 0x14], 0x10
mov edx, esi
jb 0x45a308
mov edx, dword [esi]
cmp byte [edx + eax], 0x5c
jne 0x45a322
test ecx, ecx
jne 0x45a318
lea ebx, [eax + 1]
inc ecx
jmp 0x45a322
cmp ecx, 1
jne 0x45a322
push 2
mov edi, eax
pop ecx
inc eax
cmp ecx, 2
jl 0x45a2fe
push 5
mov dword [ebp + 0xc], ebx
cmp ebx, 0xffffffff
pop ebx
je 0x45a400
cmp edi, 0xffffffff
je 0x45a400
cmp byte [ebp + 0x10], 0
je 0x45a3ea
push 0x35
pop eax
mov cl, 0x1c
mov dword [ebp - 0x19], 0x585e030b
xor edx, edx
mov byte [ebp + 0x11], cl
xor al, cl
mov byte [ebp + 0x13], dl
push 0x2b
pop ecx
mov byte [ebp + 0x12], al
mov eax, edx
mov byte [ebp - 0x1a], cl
mov dword [ebp - 0x15], 0xb11594e
mov byte [ebp - 0x11], dl
xor byte [ebp + eax - 0x19], cl
inc eax
cmp eax, 8
jae 0x45a384
mov cl, byte [ebp - 0x1a]
jmp 0x45a375
lea eax, [ebp - 0x19]
mov byte [ebp - 0x11], dl
push eax
mov eax, dword [ebp + 0xc]
mov ecx, esi
sub edi, eax
push edi
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00461a57
mov edx, eax
lea ecx, [ebp - 0x9c]
call fcn.00403d96
pop ecx
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00403a2e
push eax
lea ecx, [ebp - 0x54]
call fcn.00403ab7
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0x12]
push eax
lea edx, [ebp - 0x54]
call fcn.00403d96
pop ecx
lea ecx, [ebp - 0x54]
call fcn.00403b2e
lea ecx, [ebp - 0x9c]
call fcn.00403b2e
jmp 0x45a5ec
mov eax, dword [ebp + 0xc]
mov ecx, esi
sub edi, eax
push edi
push eax
push dword [ebp + 8]
call fcn.00461a57
jmp 0x45a5f7
push 0x494070
lea ecx, [ebp - 0x6c]
call fcn.00403ae8
mov eax, dword [esi + 0x10]
xor ecx, ecx
xor edx, edx
jmp 0x45a436
cmp dword [esi + 0x14], 0x10
mov edi, esi
jb 0x45a420
mov edi, dword [esi]
cmp byte [edi + eax], 0x5c
jne 0x45a436
inc ecx
cmp ecx, 3
jne 0x45a431
lea edx, [eax - 1]
jmp 0x45a436
cmp ecx, 4
je 0x45a459
sub eax, 1
jns 0x45a416
cmp dword [ebp - 0x2c], 0
jne 0x45a526
xor ecx, ecx
mov ecx, dword [ebp + 8]
push 0x494070
call fcn.00403ae8
jmp 0x45a510
sub edx, eax
mov ecx, esi
push edx
inc eax
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00461a57
push eax
lea ecx, [ebp - 0x6c]
call fcn.00403a82
lea ecx, [ebp - 0x84]
call fcn.00403b2e
cmp byte [ebp + 0x10], 0
je 0x45a518
mov cl, 0x48
mov dword [ebp - 0x1a], 0x4d101838
mov al, 0x61
mov byte [ebp + 0x11], cl
xor al, cl
mov dword [ebp - 0x16], 0x24a5d4b
xor edx, edx
mov byte [ebp + 0x12], al
mov byte [ebp + 0x13], dl
add cl, 0xf0
mov word [ebp - 0x12], 0x18
mov eax, edx
xor byte [ebp + eax - 0x19], cl
inc eax
cmp eax, 8
jae 0x45a4c3
mov cl, byte [ebp - 0x1a]
jmp 0x45a4b4
lea eax, [ebp - 0x19]
mov byte [ebp - 0x11], dl
push eax
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x84]
call fcn.00403d39
pop ecx
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00403a2e
push eax
lea ecx, [ebp - 0x54]
call fcn.00403ab7
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0x12]
push eax
lea edx, [ebp - 0x54]
call fcn.00403d96
pop ecx
lea ecx, [ebp - 0x54]
call fcn.00403b2e
lea ecx, [ebp - 0x84]
call fcn.00403b2e
lea ecx, [ebp - 0x6c]
jmp 0x45a5f2
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x6c]
push eax
call fcn.00403ab7
jmp 0x45a510
xor ecx, ecx
cmp byte [ebp + 0x10], cl
je 0x45a447
mov byte [ebp - 0xf], bl
mov eax, ecx
mov dword [ebp - 0xe], 0x77607670
mov word [ebp - 0xa], 0x253f
mov byte [ebp - 8], cl
xor byte [ebp + eax - 0xe], bl
inc eax
cmp eax, 6
jae 0x45a555
mov bl, byte [ebp - 0xf]
jmp 0x45a546
lea eax, [ebp - 0x3c]
mov byte [ebp - 8], cl
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0xe]
push eax
call fcn.00462a8c
pop ecx
jmp 0x45a510
xor edx, edx
mov byte [ebp - 0x11], dl
cmp byte [ebp + 0x10], dl
jne 0x45a5a0
mov cl, 0x41
mov dword [ebp - 0x19], 0x2a2f1441
mov dword [ebp - 0x15], 0x2f362e2f
mov eax, edx
xor byte [ebp + eax - 0x18], cl
inc eax
cmp eax, 7
jae 0x45a595
mov cl, byte [ebp - 0x19]
jmp 0x45a586
mov byte [ebp - 0x11], dl
lea eax, [ebp - 0x18]
jmp 0x45a203
movaps xmm0, xmmword [0x49dc00]
mov al, 0x2c
xor al, bl
mov byte [ebp + 0x11], bl
mov byte [ebp + 0x12], al
mov ecx, edx
mov byte [ebp + 0x13], dl
movups xmmword [ebp - 0x21], xmm0
mov al, byte [ebp - 0x21]
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0xf
jb 0x45a5ba
lea eax, [ebp + 0x12]
mov byte [ebp - 0x11], dl
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x84]
call fcn.00462a8c
pop ecx
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.00403d96
pop ecx
lea ecx, [ebp - 0x84]
call fcn.00403b2e
lea ecx, [ebp - 0x3c]
call fcn.00403b2e
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
leave
ret 0xc