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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x280
mov esi, ecx
mov cl, byte [0x60510a]
mov ebx, dword [ebp + 8]
mov dword [esp], esi
cmp cl, 1
mov ecx, esi
jne 0x4e9daf
movzx ecx, byte [esi + 0x190]
mov edi, 0x10
sub edi, ecx
cmp edi, ebx
jbe 0x4e9ecb
test ecx, ecx
je 0x4ea13b
mov eax, ecx
add eax, ebx
jb 0x4eae4e
cmp eax, 0x10
ja 0x4eae57
test ebx, ebx
mov dword [esp + 0x10], eax
je 0x4e9d9d
xor esi, esi
cmp ebx, 8
jb 0x4e9d81
xor esi, esi
cmp ebx, 0x20
jb 0x4e9d3e
mov edi, dword [esp]
mov esi, ebx
mov eax, edx
xor ebx, ebx
and esi, 0xffffffe0
lea edi, [ecx + edi + 0x190]
nop word [eax + eax]
movdqu xmm0, xmmword [edi + ebx - 0x10]
movdqu xmm2, xmmword [eax + ebx]
movdqu xmm1, xmmword [edi + ebx]
movdqu xmm3, xmmword [eax + ebx + 0x10]
pxor xmm2, xmm0
pxor xmm3, xmm1
movdqu xmmword [eax + ebx], xmm2
movdqu xmmword [eax + ebx + 0x10], xmm3
add ebx, 0x20
cmp esi, ebx
jne 0x4e9d00
mov ebx, dword [ebp + 8]
cmp esi, ebx
je 0x4e9d9d
mov edx, eax
test bl, 0x18
je 0x4e9d81
mov edi, esi
mov esi, ebx
mov ebx, dword [esp]
mov eax, edx
and esi, 0xfffffff8
lea ebx, [ecx + ebx + 0x180]
nop word cs:[eax + eax]
nop dword [eax + eax]
movq xmm0, qword [ebx + edi]
movq xmm1, qword [eax + edi]
pxor xmm1, xmm0
movq qword [eax + edi], xmm1
add edi, 8
cmp esi, edi
jne 0x4e9d60
cmp esi, dword [ebp + 8]
mov edx, eax
je 0x4e9d9d
mov edi, dword [esp]
mov eax, edx
lea ecx, [ecx + edi + 0x180]
nop dword [eax]
movzx ebx, byte [ecx + esi]
xor byte [eax + esi], bl
inc esi
cmp dword [ebp + 8], esi
jne 0x4e9d90
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov byte [eax + 0x190], cl
jmp 0x4eae20
movzx ecx, byte [esi + 0x188]
mov dword [esp + 4], edx
mov edx, 0x10
mov eax, dword [esi + 0x10]
mov edi, ebx
sub edx, ecx
mov dword [esp + 8], eax
cmp edx, ebx
mov ebx, dword [esi + 0x14]
jbe 0x4ea01d
test ecx, ecx
je 0x4ea143
mov ebx, dword [ebp + 8]
mov edx, ecx
add edx, ebx
jb 0x4eae65
mov eax, dword [esp + 4]
cmp edx, 0x10
ja 0x4eae74
test ebx, ebx
je 0x4e9ebd
xor esi, esi
cmp ebx, 8
jb 0x4e9e9f
xor esi, esi
cmp ebx, 0x20
jb 0x4e9e6c
mov edi, dword [esp]
mov esi, ebx
xor ebx, ebx
and esi, 0xffffffe0
lea edi, [ecx + edi + 0x188]
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm0, xmmword [edi + ebx - 0x10]
movdqu xmm2, xmmword [eax + ebx]
movdqu xmm1, xmmword [edi + ebx]
movdqu xmm3, xmmword [eax + ebx + 0x10]
pxor xmm2, xmm0
pxor xmm3, xmm1
movdqu xmmword [eax + ebx], xmm2
movdqu xmmword [eax + ebx + 0x10], xmm3
add ebx, 0x20
cmp esi, ebx
jne 0x4e9e30
mov ebx, dword [ebp + 8]
cmp esi, ebx
je 0x4e9ebd
test bl, 0x18
je 0x4e9e9f
mov edi, esi
mov esi, ebx
mov ebx, dword [esp]
and esi, 0xfffffff8
lea ebx, [ecx + ebx + 0x178]
nop dword [eax]
movq xmm0, qword [ebx + edi]
movq xmm1, qword [eax + edi]
pxor xmm1, xmm0
movq qword [eax + edi], xmm1
add edi, 8
cmp esi, edi
jne 0x4e9e80
cmp esi, dword [ebp + 8]
je 0x4e9ebd
mov edi, dword [esp]
lea ecx, [ecx + edi + 0x178]
nop dword [eax]
movzx ebx, byte [ecx + esi]
xor byte [eax + esi], bl
inc esi
cmp dword [ebp + 8], esi
jne 0x4e9eb0
mov eax, dword [esp]
mov byte [eax + 0x188], dl
jmp 0x4eae20
movdqa xmm0, xmmword [esi + 0x10]
mov eax, esi
mov esi, ebx
mov dword [esp + 0x10], edi
mov dword [esp + 4], edx
sub esi, edi
mov dword [esp + 0xc], esi
shr esi, 4
inc esi
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0xff
movd ebx, xmm2
movd edi, xmm1
sub ebx, dword [eax + 8]
sbb edi, dword [eax + 0xc]
add ebx, esi
adc edi, 0
mov edi, dword [esp + 4]
jb 0x4eae28
test ecx, ecx
je 0x4ea14d
cmp cl, 0x11
jae 0x4eae8a
mov edx, dword [esp + 0x10]
mov esi, 0x10
sub esi, ecx
cmp edx, esi
lea eax, [edi + edx]
cmovbe esi, edx
mov dword [esp + 8], eax
test esi, esi
je 0x4e9ffc
xor esi, esi
cmp edx, 8
jb 0x4e9fde
xor esi, esi
cmp edx, 0x20
jb 0x4e9fab
mov eax, edi
mov edi, dword [esp]
mov esi, edx
xor ebx, ebx
and esi, 0xffffffe0
lea edi, [ecx + edi + 0x190]
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm1, xmmword [edi + ebx - 0x10]
movdqu xmm3, xmmword [eax + ebx]
movdqu xmm2, xmmword [edi + ebx]
movdqu xmm4, xmmword [eax + ebx + 0x10]
pxor xmm3, xmm1
pxor xmm4, xmm2
movdqu xmmword [eax + ebx], xmm3
movdqu xmmword [eax + ebx + 0x10], xmm4
add ebx, 0x20
cmp esi, ebx
jne 0x4e9f70
cmp edx, esi
je 0x4e9ffc
mov edi, eax
test dl, 0x18
je 0x4e9fde
mov ebx, dword [esp]
mov eax, edi
mov edi, esi
mov esi, edx
and esi, 0xfffffff8
lea ebx, [ecx + ebx + 0x180]
nop
movq xmm1, qword [ebx + edi]
movq xmm2, qword [eax + edi]
pxor xmm2, xmm1
movq qword [eax + edi], xmm2
add edi, 8
cmp esi, edi
jne 0x4e9fc0
cmp edx, esi
je 0x4e9ffc
mov edi, dword [esp]
mov eax, dword [esp + 4]
lea ecx, [ecx + edi + 0x180]
nop dword [eax]
movzx ebx, byte [ecx + esi]
xor byte [eax + esi], bl
inc esi
cmp edx, esi
jne 0x4e9ff0
mov eax, dword [esp + 8]
paddq xmm0, xmmword [0x606ae0]
mov esi, dword [esp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
movdqa xmmword [esi + 0x10], xmm0
jmp 0x4ea153
mov esi, edi
sub esi, edx
mov dword [esp + 0xe0], esi
shr esi, 4
inc esi
add esi, eax
mov esi, ebx
adc esi, 0
jb 0x4eae28
mov eax, dword [esp + 4]
test ecx, ecx
je 0x4ea695
cmp cl, 0x11
mov dword [esp + 0x10], ebx
jae 0x4eae96
mov esi, 0x10
lea edi, [eax + edx]
sub esi, ecx
cmp edx, esi
cmovbe esi, edx
test esi, esi
je 0x4ea11c
xor esi, esi
cmp edx, 8
mov dword [esp + 0x40], edi
jb 0x4ea102
xor esi, esi
cmp edx, 0x20
jb 0x4ea0cd
mov edi, dword [esp]
mov esi, edx
xor ebx, ebx
and esi, 0xffffffe0
lea edi, [ecx + edi + 0x188]
movdqu xmm0, xmmword [edi + ebx - 0x10]
movdqu xmm2, xmmword [eax + ebx]
movdqu xmm1, xmmword [edi + ebx]
movdqu xmm3, xmmword [eax + ebx + 0x10]
pxor xmm2, xmm0
pxor xmm3, xmm1
movdqu xmmword [eax + ebx], xmm2
movdqu xmmword [eax + ebx + 0x10], xmm3
add ebx, 0x20
cmp esi, ebx
jne 0x4ea090
mov edi, dword [esp + 0x40]
cmp edx, esi
je 0x4ea11c
test dl, 0x18
je 0x4ea102
mov ebx, dword [esp]
mov edi, esi
mov esi, edx
and esi, 0xfffffff8
lea ebx, [ecx + ebx + 0x178]
nop
movq xmm0, qword [ebx + edi]
movq xmm1, qword [eax + edi]
pxor xmm1, xmm0
movq qword [eax + edi], xmm1
add edi, 8
cmp esi, edi
jne 0x4ea0e0
mov edi, dword [esp + 0x40]
cmp edx, esi
je 0x4ea11c
mov edi, dword [esp]
lea ecx, [ecx + edi + 0x178]
mov edi, dword [esp + 0x40]
movzx ebx, byte [ecx + esi]
xor byte [eax + esi], bl
inc esi
cmp edx, esi
jne 0x4ea110
add dword [esp + 8], 1
mov ebx, dword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [esp]
mov eax, dword [esp + 0xe0]
adc ebx, 0
jmp 0x4ea69b
mov dword [esp + 4], edx
mov eax, ebx
jmp 0x4ea153
mov eax, dword [ebp + 8]
mov edi, esi
jmp 0x4ea69b
mov eax, dword [ebp + 8]
mov esi, dword [esp]
mov dword [esp + 0xc], eax
and eax, 0xffffff80
lea ecx, [esi + 0x20]
mov edx, esi
test eax, eax
mov dword [esp + 8], ecx
mov ecx, eax
mov dword [esp + 0x3c], eax
je 0x4ea4f6
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 4]
neg ebx
nop dword [eax + eax]
movaps xmm0, xmmword [edx + 0x10]
movaps xmm1, xmmword [0x606af0]
lea edi, [esp + 0xf0]
mov dword [esp + 0x40], ebx
lea ebx, [esp + 0x180]
lea ecx, [esp + 0x60]
mov edx, edi
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0x180], xmm1
push ebx
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
lea ebx, [esp + 0x60]
mov edx, edi
lea eax, [esp + 0x180]
mov ecx, ebx
paddq xmm2, xmmword [0x606ae0]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push eax
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
mov edx, edi
lea eax, [esp + 0x180]
mov ecx, ebx
paddq xmm2, xmmword [0x606b00]
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push eax
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
mov edx, edi
lea eax, [esp + 0x180]
mov ecx, ebx
paddq xmm2, xmmword [0x606b10]
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push eax
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
mov edx, edi
lea eax, [esp + 0x180]
mov ecx, ebx
paddq xmm2, xmmword [0x606b20]
movaps xmmword [esp + 0x250], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push eax
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
mov edx, edi
lea edi, [esp + 0x180]
mov ecx, ebx
paddq xmm2, xmmword [0x606b30]
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push edi
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
lea edx, [esp + 0xf0]
mov ecx, ebx
paddq xmm2, xmmword [0x606b40]
movaps xmmword [esp + 0x230], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push edi
call fcn.00405d90
add esp, 4
movdqa xmm2, xmmword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmmword [0x606af0]
lea edx, [esp + 0xf0]
mov ecx, ebx
paddq xmm2, xmmword [0x606b50]
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x180], xmm1
movdqa xmmword [esp + 0xf0], xmm2
push edi
call fcn.00405d90
add esp, 4
movaps xmm2, xmmword [esp + 0x50]
movaps xmm1, xmmword [esp + 0xe0]
movdqa xmm0, xmmword [esp + 0x10]
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov edx, edi
movaps xmmword [esp + 0x180], xmm2
movaps xmmword [esp + 0x190], xmm1
movaps xmm2, xmmword [esp + 0x210]
movaps xmm1, xmmword [esp + 0x250]
paddq xmm0, xmmword [0x606b60]
movaps xmmword [esp + 0x1a0], xmm2
movaps xmmword [esp + 0x1b0], xmm1
movaps xmm2, xmmword [esp + 0x240]
movaps xmm1, xmmword [esp + 0x230]
movdqa xmmword [eax + 0x10], xmm0
movaps xmmword [esp + 0x1c0], xmm2
movaps xmmword [esp + 0x1d0], xmm1
movdqa xmm2, xmmword [esp + 0x220]
movaps xmm1, xmmword [esp + 0x60]
movdqa xmmword [esp + 0x1e0], xmm2
movaps xmmword [esp + 0x1f0], xmm1
call fcn.004eaeb0
movaps xmm0, xmmword [esp + 0x190]
movups xmm1, xmmword [esi + 0x10]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp]
xorps xmm1, xmm0
movups xmm0, xmmword [esi]
xorps xmm0, xmmword [esp + 0x180]
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm1
movaps xmm0, xmmword [esp + 0x1a0]
movups xmm1, xmmword [esi + 0x20]
xorps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1b0]
movups xmmword [esi + 0x20], xmm1
movups xmm1, xmmword [esi + 0x30]
xorps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movups xmmword [esi + 0x30], xmm1
movups xmm1, xmmword [esi + 0x40]
xorps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1d0]
movups xmmword [esi + 0x40], xmm1
movups xmm1, xmmword [esi + 0x50]
xorps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1e0]
movups xmmword [esi + 0x50], xmm1
movups xmm1, xmmword [esi + 0x60]
xorps xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x1f0]
movups xmmword [esi + 0x60], xmm1
movdqu xmm1, xmmword [esi + 0x70]
pxor xmm1, xmm0
movdqu xmmword [esi + 0x70], xmm1
sub esi, 0xffffff80
sub ebx, 0xffffff80
jne 0x4ea180
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0xf
and eax, 0x70
mov dword [esp + 0x50], ecx
mov dword [esp + 0xc], eax
je 0x4ea5cf
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
lea ebx, [eax + ecx]
neg esi
nop word cs:[eax + eax]
nop dword [eax + eax]
movaps xmm0, xmmword [edx + 0x10]
movaps xmm1, xmmword [0x606af0]
lea eax, [ebx + 0x10]
lea edi, [esp + 0xf0]
lea ecx, [esp + 0x60]
mov dword [esp + 0x10], eax
mov edx, edi
lea eax, [esp + 0x180]
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0x180], xmm1
push eax
call fcn.00405d90
add esp, 4
movdqa xmm1, xmmword [esp + 0x40]
mov eax, dword [esp]
movaps xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 8]
mov ecx, edi
paddq xmm1, xmmword [0x606ae0]
movaps xmmword [esp + 0x180], xmm0
movdqa xmmword [eax + 0x10], xmm1
lea eax, [esp + 0x180]
push eax
call fcn.004cd400
mov edx, dword [esp + 4]
add esp, 4
movdqu xmm0, xmmword [ebx]
add esi, 0x10
pxor xmm0, xmmword [esp + 0xf0]
movdqu xmmword [ebx], xmm0
mov ebx, dword [esp + 0x10]
jne 0x4ea530
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 4]
test eax, eax
mov byte [edx + 0x190], al
je 0x4eae20
movaps xmm0, xmmword [edx + 0x10]
movdqa xmm1, xmmword [0x606af0]
lea esi, [esp + 0x180]
lea ecx, [esp + 0x60]
lea edx, [esp + 0xf0]
movaps xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0x180], xmm1
push esi
call fcn.00405d90
add esp, 4
movaps xmm0, xmmword [esp + 0x60]
lea ecx, [esp + 0xf0]
mov edx, ebx
movaps xmmword [esp + 0x180], xmm0
push esi
mov esi, dword [esp + 4]
call fcn.004cd400
mov edx, dword [esp + 0x54]
add esp, 4
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0xf0]
dec edx
add eax, dword [esp + 0xc]
movd ecx, xmm0
movdqa xmmword [esi + 0x180], xmm0
add edi, eax
xor eax, eax
xor byte [edi + eax], cl
cmp edx, eax
je 0x4eae20
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi + eax + 0x181]
inc eax
xor byte [edi + eax], cl
cmp edx, eax
jne 0x4ea680
jmp 0x4eae20
mov eax, dword [ebp + 8]
mov edi, dword [esp]
mov esi, eax
lea ecx, [esp + 0x180]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0xf0], 5
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0xf0], 8
lea eax, [esp + 0xf0]
and esi, 0xffffff80
push 0x84
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x60]
lea eax, [esp + 0x184]
push pe_nt_image_headers32
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [edi + 0x18]
mov ecx, edi
test esi, esi
mov dword [esp + 0x210], esi
mov dword [esp + 0x40], eax
je 0x4eaabf
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, esi
mov esi, ecx
neg eax
nop word [eax + eax]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 8]
mov dword [esp + 8], edx
mov dword [esp + 0x50], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add ebx, edx
mov edx, dword [esp]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov esi, dword [edx + 0xc]
mov edx, ebx
bswap edx
mov dword [esp + 0x6c], edx
adc esi, dword [esp + 0x10]
mov edx, esi
bswap edx
mov dword [esp + 0x68], edx
mov edx, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
add edx, 1
bswap edx
mov dword [esp + 0x7c], edx
mov edx, esi
adc edx, 0
bswap edx
mov dword [esp + 0x78], edx
mov edx, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add edx, 2
bswap edx
mov dword [esp + 0x8c], edx
mov edx, esi
adc edx, 0
bswap edx
mov dword [esp + 0x88], edx
mov edx, ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
add edx, 3
bswap edx
mov dword [esp + 0x9c], edx
mov edx, esi
adc edx, 0
bswap edx
mov dword [esp + 0x98], edx
mov edx, ebx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
add edx, 4
bswap edx
mov dword [esp + 0xac], edx
mov edx, esi
adc edx, 0
bswap edx
mov dword [esp + 0xa8], edx
mov edx, ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
add edx, 5
bswap edx
mov dword [esp + 0xbc], edx
mov edx, esi
adc edx, 0
bswap edx
mov dword [esp + 0xb8], edx
mov edx, ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add edx, 6
bswap edx
mov dword [esp + 0xcc], edx
mov edx, esi
adc edx, 0
add ebx, 7
bswap edx
bswap ebx
adc esi, 0
mov dword [esp + 0xc8], edx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x40]
bswap esi
lea edx, [esp + 0x60]
mov dword [esp + 0xd8], esi
mov esi, dword [esp]
mov ecx, ebx
call fcn.00405220
mov ecx, ebx
lea edx, [esp + 0x80]
call fcn.00405220
mov ecx, ebx
lea edx, [esp + 0xa0]
call fcn.00405220
mov ecx, ebx
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0xc0]
call fcn.00405220
movups xmm1, xmmword [edi]
movups xmm0, xmmword [esp + 0x70]
movups xmm2, xmmword [edi + 0x10]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x50]
xorps xmm1, xmmword [esp + 0x60]
xorps xmm2, xmm0
movups xmm0, xmmword [esp + 0x80]
add edx, 8
adc ebx, 0
movups xmmword [edi], xmm1
movups xmmword [edi + 0x10], xmm2
movups xmm1, xmmword [esp + 0x90]
movups xmm2, xmmword [edi + 0x20]
xorps xmm2, xmm0
movups xmm0, xmmword [edi + 0x30]
movups xmmword [edi + 0x20], xmm2
xorps xmm0, xmm1
movups xmm1, xmmword [esp + 0xb0]
movups xmmword [edi + 0x30], xmm0
movups xmm0, xmmword [esp + 0xa0]
movups xmm2, xmmword [edi + 0x40]
xorps xmm2, xmm0
movups xmm0, xmmword [edi + 0x50]
movups xmmword [edi + 0x40], xmm2
xorps xmm0, xmm1
movdqu xmm1, xmmword [esp + 0xd0]
movups xmmword [edi + 0x50], xmm0
movdqu xmm0, xmmword [esp + 0xc0]
movdqu xmm2, xmmword [edi + 0x60]
movdqu xmm3, xmmword [edi + 0x70]
pxor xmm2, xmm0
pxor xmm3, xmm1
movdqu xmmword [edi + 0x60], xmm2
movdqu xmmword [edi + 0x70], xmm3
sub edi, 0xffffff80
sub eax, 0xffffff80
jne 0x4ea880
jmp 0x4eaac5
mov edx, dword [esp + 8]
mov esi, ecx
mov ecx, dword [esp + 0xe0]
mov eax, ecx
and eax, 0xf
and ecx, 0x70
mov dword [esp + 0x50], eax
mov dword [esp + 0xe0], ecx
je 0x4eac88
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x210]
neg ecx
lea edi, [eax + esi]
mov esi, dword [esp]
nop dword [eax + eax]
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x60], 0
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
add eax, edx
movsd qword [esp + 0x28], xmm0
bswap eax
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xc]
adc eax, ebx
add edx, 1
bswap eax
mov esi, edx
lea edx, [esp + 0x180]
adc ebx, 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x64]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [esp + 0x60], 0x10
movq xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x68]
mov eax, dword [esp + 0x70]
movsd qword [esp + 0xf8], xmm0
movsd xmm0, qword [esp + 0x60]
mov dword [esp + 0x100], eax
lea eax, [esp + 0xf4]
movsd qword [esp + 0xf0], xmm0
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
lea eax, [esp + 0x190]
movsd qword [esp + 0x270], xmm1
movsd qword [eax + 8], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [eax], xmm0
movsd qword [esp + 0x268], xmm0
movq qword [esp + 0x180], xmm2
movsd qword [esp + 0x188], xmm1
call fcn.00405220
movq xmm0, qword [esp + 0x180]
movq xmm1, qword [esp + 0x188]
mov edx, esi
mov esi, dword [esp]
movq qword [esp + 0x28], xmm0
movq qword [esp + 0x30], xmm1
movzx eax, byte [esp + 0x28]
mov ah, byte [esp + 0x36]
movzx ecx, byte [esp + 0x37]
xor byte [edi], al
mov al, byte [esp + 0x29]
xor byte [edi + 1], al
mov al, byte [esp + 0x2a]
xor byte [edi + 2], al
mov al, byte [esp + 0x2b]
xor byte [edi + 3], al
mov al, byte [esp + 0x2c]
xor byte [edi + 4], al
mov al, byte [esp + 0x2d]
xor byte [edi + 5], al
mov al, byte [esp + 0x2e]
xor byte [edi + 6], al
mov al, byte [esp + 0x2f]
xor byte [edi + 7], al
mov al, byte [esp + 0x30]
xor byte [edi + 8], al
mov al, byte [esp + 0x31]
xor byte [edi + 9], al
mov al, byte [esp + 0x32]
xor byte [edi + 0xa], al
mov al, byte [esp + 0x33]
xor byte [edi + 0xb], al
mov al, byte [esp + 0x34]
xor byte [edi + 0xc], al
mov al, byte [esp + 0x35]
xor byte [edi + 0xd], al
xor byte [edi + 0xe], ah
xor byte [edi + 0xf], cl
mov ecx, dword [esp + 0x10]
add edi, 0x10
add ecx, 0x10
jne 0x4eab00
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 4]
test ebx, ebx
je 0x4eae10
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf0], 0x10
mov dword [esp + 8], edx
mov edx, dword [esi + 8]
mov ebx, edi
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov esi, dword [esp]
mov edi, dword [esp]
mov dword [esp + 0x190], 0
movsd xmm0, qword [esp + 0xf8]
mov esi, dword [esi + 0xc]
mov dword [edi + 0x17c], ecx
mov ecx, dword [esp]
add edx, dword [esp + 8]
mov edi, ebx
mov ebx, dword [esp + 0x50]
movsd qword [esp + 0x188], xmm0
movsd xmm0, qword [esp + 0xf0]
mov dword [ecx + 0x178], eax
mov eax, dword [esp]
adc esi, dword [esp + 0x10]
bswap edx
mov ecx, dword [esp + 0x40]
movsd qword [esp + 0x180], xmm0
movsd xmm0, qword [esp + 0x184]
mov dword [eax + 0x184], edx
mov eax, dword [esp]
bswap esi
lea edx, [esp + 0x180]
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [esp + 0x18c]
mov dword [eax + 0x180], esi
mov esi, dword [esp]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
movq xmm2, qword [esi + 0x180]
movsd qword [esp + 0x190], xmm0
movsd xmm0, qword [esi + 0x178]
movsd qword [esp + 0x198], xmm1
movq qword [esp + 0x188], xmm2
movsd qword [esp + 0x180], xmm0
call fcn.00405220
movq xmm0, qword [esp + 0x180]
movq xmm1, qword [esp + 0x188]
mov edx, dword [esp + 8]
test ebx, ebx
movq qword [esi + 0x180], xmm1
movq qword [esi + 0x178], xmm0
je 0x4eae10
mov eax, dword [esp + 0x210]
add eax, dword [esp + 0xe0]
add edi, eax
xor eax, eax
nop dword [eax]
movzx ecx, byte [esi + eax + 0x178]
xor byte [edi + eax], cl
inc eax
cmp ebx, eax
jne 0x4eae00
mov eax, dword [esp + 0x10]
mov byte [esi + 0x188], bl
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x180]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x682b20
push 0x682ab4
push eax
call fcn.0045d480
add esp, 0xc
ud2
mov edx, eax
push 0x682a00
jmp 0x4eae6a
mov ecx, eax
mov edx, 0x10
push 0x682a00
jmp 0x4eae80
push 0x682b74
call fcn.0045ce70
add esp, 4
ud2
mov ecx, edx
mov edx, 0x10
push 0x682b74
call fcn.0045ab50
add esp, 4
ud2
mov edx, 0x10
push 0x682a00
jmp 0x4eaea0
mov edx, 0x10
push 0x682b84
call fcn.0045a820
add esp, 4
ud2