Function at 0x455660
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x9c
call fcn.00464c10
mov eax, dword [0x4efa64]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
mov edx, 0x200
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x44], eax
xor eax, eax
push ebp
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa8]
push esi
push edi
xor edi, edi
mov dword [esp + 0x20], ebp
cmp eax, edx
mov dword [esp + 0x30], 2
cmovl eax, edx
add eax, 0x3f
cdq
and edx, 0x3f
lea esi, [edx + eax]
mov eax, dword [esp + 0xb8]
xor edx, edx
and esi, 0xffffffc0
cmp eax, 0x14
cmovl ecx, edx
mov edx, 0x14
cmovg eax, edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0xb8], eax
test ecx, ecx
je 0x455028
cmp eax, edx
jne 0x455028
movups xmm0, xmmword [ecx]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x8c], eax
movups xmmword [esp + 0x7c], xmm0
call fcn.00455930
mov dword [esp + 0xc], eax
test eax, eax
je 0x45525c
push ebx
call fcn.00458d80
mov dword [esp + 0x2c], eax
test eax, eax
je 0x455237
mov edi, dword [esp + 0x10]
push edi
call fcn.004559b0
push edi
call fcn.004558d0
push edi
mov ebx, eax
call fcn.004558d0
push edi
mov dword [esp + 0x38], eax
call fcn.004558d0
push dword [esp + 0x20]
mov edi, eax
mov dword [esp + 0x50], edi
call fcn.004558d0
push dword [esp + 0x24]
mov dword [esp + 0x34], eax
call fcn.004558d0
push dword [esp + 0x28]
mov dword [esp + 0x3c], eax
call fcn.004558d0
push dword [esp + 0x2c]
mov dword [esp + 0x60], eax
call fcn.004558d0
push dword [esp + 0x30]
mov dword [esp + 0x3c], eax
call fcn.004558d0
add esp, 0x24
mov dword [esp + 0x14], eax
lea eax, [esi - 1]
mov dword [esp + 0x38], eax
push eax
call fcn.0044d120
push eax
push dword [esp + 0x1c]
call fcn.0045b1c0
add esp, 0xc
test eax, eax
je 0x455235
nop dword [eax]
mov esi, dword [esp + 0x30]
push esi
push 0
push ebp
call fcn.0045ad00
inc esi
add esp, 0xc
mov dword [esp + 0x30], esi
test eax, eax
je 0x455235
cmp dword [esp + 0xbc], 0
jne 0x455120
lea eax, [esp + 0x80]
push 0x14
push eax
call fcn.0044b610
add esp, 8
mov esi, 1
jmp 0x455129
xor esi, esi
mov dword [esp + 0xbc], esi
movups xmm0, xmmword [esp + 0x80]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x68], eax
mov dword [esp + 0xa4], eax
mov eax, 0x13
movups xmmword [esp + 0x58], xmm0
movups xmmword [esp + 0x94], xmm0
add byte [esp + eax + 0x58], 1
jne 0x45517d
add byte [esp + eax + 0x57], 1
jne 0x45517d
add byte [esp + eax + 0x56], 1
jne 0x45517d
add byte [esp + eax + 0x55], 1
jne 0x45517d
add byte [esp + eax + 0x54], 1
jne 0x45517d
sub eax, 5
jns 0x455155
push 0
call fcn.0045b980
push eax
push 0
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x90]
push 0x14
push eax
call fcn.0045b5b0
add esp, 0x18
push 0
call fcn.0045b980
push eax
push 0
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x68]
push 0x14
push eax
call fcn.0045b5b0
movups xmm1, xmmword [esp + 0x84]
add esp, 0x18
xor ecx, ecx
movups xmm0, xmmword [esp + 0x94]
mov edx, 4
pxor xmm1, xmm0
movups xmmword [esp + 0x6c], xmm1
nop
mov al, byte [esp + ecx + 0xa4]
lea ecx, [ecx + 1]
xor byte [esp + ecx + 0x7b], al
sub edx, 1
jne 0x4551e0
push dword [esp + 0x1c]
or byte [esp + 0x70], 0x80
lea eax, [esp + 0x70]
or byte [esp + 0x83], 1
push 0x14
push eax
call fcn.0044c9e0
add esp, 0xc
test eax, eax
je 0x455235
push ebp
push esi
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x2c]
call fcn.0045ad50
add esp, 0x14
test eax, eax
jg 0x455276
je 0x4550e0
xor edi, edi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.00455860
push ebx
call fcn.004558a0
mov eax, dword [esp + 0x34]
add esp, 8
pop ebx
test eax, eax
je 0x45525c
push eax
call fcn.00458d40
add esp, 4
mov ecx, dword [esp + 0xa4]
mov eax, edi
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00464bf6
add esp, 0x9c
ret
push 0
push 2
push ebp
call fcn.0045ad00
add esp, 0xc
test eax, eax
je 0x455235
push 0
push 3
push ebp
call fcn.0045ad00
add esp, 0xc
test eax, eax
je 0x455235
mov eax, 0x66666667
xor esi, esi
imul dword [esp + 0x38]
mov dword [esp + 0x44], esi
sar edx, 6
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
test esi, esi
je 0x4552cc
push esi
push 0
push dword [esp + 0x2c]
call fcn.0045ad00
add esp, 0xc
test eax, eax
je 0x455235
push 0
push edi
call fcn.0044d070
add esp, 8
xor edi, edi
test ebp, ebp
js 0x455383
xor esi, esi
mov eax, 0x13
add byte [esp + eax + 0x58], 1
jne 0x455310
add byte [esp + eax + 0x57], 1
jne 0x455310
add byte [esp + eax + 0x56], 1
jne 0x455310
add byte [esp + eax + 0x55], 1
jne 0x455310
add byte [esp + eax + 0x54], 1
jne 0x455310
sub eax, 5
jns 0x4552e8
push 0
call fcn.0045b980
push eax
push 0
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x68]
push 0x14
push eax
call fcn.0045b5b0
push ebx
lea eax, [esp + 0x88]
push 0x14
push eax
call fcn.0044c9e0
add esp, 0x24
test eax, eax
je 0x455235
push esi
push ebx
push ebx
call fcn.0045b1c0
add esp, 0xc
test eax, eax
je 0x455235
mov eax, dword [esp + 0x3c]
push ebx
push eax
push eax
call fcn.004578d0
add esp, 0xc
test eax, eax
je 0x455235
inc edi
add esi, 0xa0
cmp edi, ebp
jle 0x4552e3
mov esi, dword [esp + 0x44]
push dword [esp + 0x38]
mov edi, dword [esp + 0x40]
push edi
call fcn.0044ce10
add esp, 8
test eax, eax
je 0x455235
push edi
push dword [esp + 0x24]
call fcn.0044cc50
add esp, 8
test eax, eax
je 0x455235
push dword [esp + 0x14]
mov eax, dword [esp + 0x24]
push eax
push eax
call fcn.004578d0
add esp, 0xc
test eax, eax
je 0x455235
push dword [esp + 0x1c]
push ebx
call fcn.0045b310
add esp, 8
test eax, eax
je 0x455235
push dword [esp + 0x10]
push ebx
push dword [esp + 0x28]
push dword [esp + 0x4c]
push 0
call fcn.00457c70
add esp, 0x14
test eax, eax
je 0x455235
call fcn.0044d120
push eax
push dword [esp + 0x44]
push ebx
call fcn.00457960
add esp, 0xc
test eax, eax
je 0x455235
push ebx
push dword [esp + 0x24]
push dword [esp + 0x20]
call fcn.00457960
add esp, 0xc
test eax, eax
je 0x455235
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.0044cbb0
add esp, 8
test eax, eax
js 0x455469
push dword [esp + 0x24]
push 1
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x28]
call fcn.0045ad50
add esp, 0x14
test eax, eax
jg 0x455483
jne 0x455235
inc esi
mov dword [esp + 0x44], esi
cmp esi, 0x1000
jl 0x4552b1
mov ebp, dword [esp + 0x24]
jmp 0x4550e0
mov ebp, dword [esp + 0x24]
push 1
push 2
push ebp
call fcn.0045ad00
add esp, 0xc
test eax, eax
je 0x455235
call fcn.0044d120
push eax
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.00457960
add esp, 0xc
test eax, eax
je 0x455235
mov edi, dword [esp + 0x10]
push edi
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0
push ebx
call fcn.00457c70
add esp, 0x14
test eax, eax
je 0x455235
push 2
push dword [esp + 0x18]
call fcn.0044d070
add esp, 8
test eax, eax
je 0x455235
push edi
push dword [esp + 0x1c]
push dword [esp + 0x34]
call fcn.00458dd0
add esp, 0xc
test eax, eax
je 0x455235
push dword [esp + 0x2c]
push edi
push dword [esp + 0x20]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x3c]
call fcn.00455f40
add esp, 0x18
test eax, eax
je 0x455235
nop dword [eax + eax]
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 1
jne 0x45558a
mov eax, dword [ecx]
cmp dword [eax], 1
jne 0x45558a
cmp dword [ecx + 0xc], 0
jne 0x45558a
call fcn.0044d120
push eax
mov eax, dword [esp + 0x18]
push eax
push eax
call fcn.004578d0
add esp, 0xc
test eax, eax
je 0x455235
push dword [esp + 0x2c]
inc dword [esp + 0x38]
push edi
push dword [esp + 0x20]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x3c]
call fcn.00455f40
add esp, 0x18
test eax, eax
jne 0x455530
jmp 0x455235
push 1
push 3
push ebp
call fcn.0045ad00
add esp, 0xc
test eax, eax
je 0x455235
mov edi, 1
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4555b8
push eax
call fcn.0044cd60
add esp, 4
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4555c8
push eax
call fcn.0044cd60
add esp, 4
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4555d8
push eax
call fcn.0044cd60
add esp, 4
push dword [esp + 0x18]
call fcn.0044cd20
push dword [esp + 0x20]
mov dword [ebx + 0xc], eax
call fcn.0044cd20
push dword [esp + 0x30]
mov dword [ebx + 0x10], eax
call fcn.0044cd20
add esp, 0xc
mov dword [ebx + 0x14], eax
cmp dword [ebx + 0xc], 0
je 0x455235
cmp dword [ebx + 0x10], 0
je 0x455235
test eax, eax
je 0x455235
cmp dword [esp + 0x30], edi
jle 0x45563e
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x45563e
movups xmm0, xmmword [esp + 0x80]
mov eax, dword [esp + 0x90]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x455648
mov dword [eax], esi
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x455237
mov eax, dword [esp + 0x34]
mov dword [ecx], eax
jmp 0x455237
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x455674
mov dword [esp + 4], ecx
jmp eax
mov dword [esp + 4], ecx
jmp 0x454f70