Function at 0x4f4410
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov ebx, dword [ecx]
mov dword [esp], edx
cmp ebx, 0x80000000
je 0x4f4cfa
mov ebp, dword [ecx + 8]
mov esi, ecx
mov dword [esp + 0x14], ecx
test ebp, ebp
je 0x4f4557
mov edi, dword [esi + 4]
cmp ebp, 1
mov edx, dword [edi + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edx
jne 0x4f4580
test edx, edx
je 0x4f46ed
cmp byte [esp], 0
jne 0x4f4563
mov eax, dword [edi + 4]
mov ecx, ebp
mov esi, 1
mov ebx, edi
shl ecx, 4
add ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, edx
mov dword [esp + 8], eax
add eax, edx
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 0x1c], ebp
jmp 0x4f44b0
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
xor esi, esi
mov al, 1
test ecx, ecx
je 0x4f489f
test al, 1
je 0x4f44c0
cmp ebx, dword [esp + 0x20]
jne 0x4f44d6
jmp 0x4f4804
mov eax, dword [esp + 0x20]
sub eax, ebx
shr eax, 4
cmp eax, esi
jbe 0x4f4804
shl esi, 4
add ebx, esi
mov eax, edx
sub eax, ecx
jb 0x4f5043
mov esi, dword [ebx + 8]
test esi, esi
je 0x4f4820
mov edi, dword [ebx + 4]
add ebx, 0x10
add eax, dword [esp + 8]
mov ebp, 0xffffffff
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov edx, dword [esp + 4]
add edi, esi
sub edx, eax
mov eax, esi
neg eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], esi
nop word cs:[eax + eax]
nop
lea edx, [ecx + ebp]
cmp edx, 0xffffffff
je 0x4f4490
movzx edx, byte [edi + ebp]
mov esi, dword [esp + 4]
cmp dl, byte [esi + ebp]
jne 0x4f4550
inc ebx
mov edx, eax
dec ebp
add edx, ebx
jne 0x4f4520
mov ecx, dword [esp + 0x24]
jmp 0x4f4494
mov ecx, ebx
jmp 0x4f4494
xor eax, eax
cmp byte [esp], 0
je 0x4f497b
mov ecx, esi
call 0x4f5090
cmp dword [esi], 0x80000000
jne 0x4f473f
mov edi, 0x80000001
jmp 0x4f49d6
lea esi, [ebp + 0xfffffff]
xor ecx, ecx
mov eax, esi
and eax, 0xfffffff
cmp eax, 8
jb 0x4f46c5
movd xmm0, dword [esp + 0x18]
and esi, 7
mov ecx, eax
lea edx, [edi + 0x88]
sub ecx, esi
mov edi, ecx
pshufd xmm1, xmm0, 0
movdqa xmm0, xmmword [0x539440]
movdqa xmm2, xmm1
nop
movd xmm3, dword [edx - 0x40]
movd xmm5, dword [edx - 0x50]
movd xmm4, dword [edx - 0x70]
movd xmm6, dword [edx - 0x20]
movdqa xmm7, xmm1
pxor xmm1, xmm0
punpckldq xmm5, xmm3
movd xmm3, dword [edx - 0x60]
punpckldq xmm4, xmm3
movd xmm3, dword [edx]
punpcklqdq xmm4, xmm5
movd xmm5, dword [edx - 0x10]
punpckldq xmm5, xmm3
movd xmm3, dword [edx - 0x30]
sub edx, 0xffffff80
add edi, 0xfffffff8
punpckldq xmm3, xmm6
movdqa xmm6, xmm4
pxor xmm6, xmm0
punpcklqdq xmm3, xmm5
pcmpgtd xmm6, xmm1
pand xmm7, xmm6
pandn xmm6, xmm4
movdqa xmm4, xmm2
pxor xmm2, xmm0
movdqa xmm1, xmm6
movdqa xmm6, xmm3
pxor xmm6, xmm0
por xmm1, xmm7
pcmpgtd xmm6, xmm2
pand xmm4, xmm6
pandn xmm6, xmm3
movdqa xmm2, xmm6
por xmm2, xmm4
jne 0x4f45c0
movdqa xmm4, xmm1
movdqa xmm3, xmm2
mov edi, dword [esp + 0x10]
test esi, esi
pxor xmm4, xmm0
pxor xmm3, xmm0
pcmpgtd xmm3, xmm4
pand xmm1, xmm3
pandn xmm3, xmm2
por xmm3, xmm1
pshufd xmm2, xmm3, 0xee
movdqa xmm4, xmm3
movdqa xmm1, xmm2
pxor xmm4, xmm0
pxor xmm1, xmm0
pcmpgtd xmm1, xmm4
pand xmm3, xmm1
pandn xmm1, xmm2
por xmm1, xmm3
movdqa xmm3, xmm1
pshufd xmm2, xmm1, 0x55
pxor xmm3, xmm0
pxor xmm0, xmm2
pcmpgtd xmm0, xmm3
pand xmm1, xmm0
pandn xmm0, xmm2
por xmm0, xmm1
movd edx, xmm0
je 0x4f46dd
sub eax, ecx
shl ecx, 4
lea ecx, [ecx + edi + 0x18]
nop
mov esi, dword [ecx]
cmp edx, esi
cmovae edx, esi
add ecx, 0x10
dec eax
jne 0x4f46d0
test edx, edx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jne 0x4f4458
lea esi, [edi + 4]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4f4706
add esi, 0x10
dec ebp
je 0x4f471a
cmp dword [esi - 4], 0
je 0x4f4700
push dword [esi]
push 0
push dword [0x5a1188]
call edi
jmp 0x4f4700
test ebx, ebx
je 0x4f4730
push dword [esp + 0x10]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x14]
mov dword [eax], 0x80000000
jmp 0x4f4cfa
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ebp
test ecx, ecx
je 0x4f47fd
mov edi, dword [esi + 4]
mov esi, 1
mov eax, dword [edi + 4]
mov ebp, dword [edi + 8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
shl ecx, 4
xor eax, eax
add ecx, edi
mov dword [esp + 4], ecx
mov ecx, ebp
mov dword [esp + 0x10], edi
jmp 0x4f478e
mov ecx, ebx
xor esi, esi
mov al, 1
test ebx, ebx
je 0x4f4897
test al, 1
je 0x4f47a0
cmp edi, dword [esp + 4]
jne 0x4f47b2
jmp 0x4f482c
mov eax, dword [esp + 4]
sub eax, edi
shr eax, 4
cmp eax, esi
jbe 0x4f482c
shl esi, 4
add edi, esi
cmp ecx, ebp
ja 0x4f504f
mov eax, dword [edi + 8]
mov esi, dword [esp + 8]
cmp eax, ecx
cmovb ecx, eax
test ecx, ecx
je 0x4f4895
mov edx, dword [edi + 4]
add edi, 0x10
xor ebx, ebx
nop word cs:[eax + eax]
movzx eax, byte [edx + ebx]
cmp al, byte [esi + ebx]
jne 0x4f4780
inc ebx
cmp ecx, ebx
jne 0x4f47e0
mov ebx, ecx
xor esi, esi
mov al, 1
test ebx, ebx
jne 0x4f478e
jmp 0x4f4897
xor eax, eax
jmp 0x4f497b
mov eax, edx
sub eax, ecx
jb 0x4f5078
mov esi, dword [esp + 8]
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x14]
add esi, eax
mov eax, ebp
jmp 0x4f4844
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
xor esi, esi
jmp 0x4f489f
cmp ecx, ebp
ja 0x4f5084
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 8]
cmp eax, 2
jb 0x4f488d
lea eax, [ecx - 1]
cmp eax, 2
ja 0x4f488d
cmp byte [esp], 0
je 0x4f488d
movzx eax, byte [esi]
cmp byte [eax + str.743210_._g], 0xc7
ja 0x4f488d
mov eax, dword [esp + 0xc]
add edi, 8
shl eax, 4
jmp 0x4f487c
add edi, 0x10
add eax, 0xfffffff0
je 0x4f4d5a
cmp dword [edi], 2
jb 0x4f4870
mov byte [edi + 4], 0
mov dword [edi], 1
jmp 0x4f4870
mov ebp, dword [esp + 0xc]
mov esi, ecx
jmp 0x4f489f
xor esi, esi
mov ebp, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov eax, ebp
mov ecx, edi
shl eax, 4
nop word cs:[eax + eax]
test eax, eax
je 0x4f48cf
add eax, 0xfffffff0
cmp byte [ecx + 0xc], 0
lea ecx, [ecx + 0x10]
jne 0x4f48b0
xor eax, eax
cmp esi, 2
setb cl
cmp esi, 4
jbe 0x4f48e0
jmp 0x4f48ef
cmp ebp, 0x11
setb al
cmp esi, 2
setb cl
cmp esi, 4
ja 0x4f48ef
or cl, al
je 0x4f48ef
mov esi, dword [esp + 0x14]
mov eax, ebp
jmp 0x4f497b
cmp byte [esp], 0
je 0x4f4914
add edi, 8
shl ebp, 4
jmp 0x4f4908
add edi, 0x10
add ebp, 0xfffffff0
je 0x4f4947
cmp dword [edi], esi
jbe 0x4f4900
mov byte [edi + 4], 0
mov dword [edi], esi
jmp 0x4f4900
add edi, 0xc
shl ebp, 4
jmp 0x4f4928
add edi, 0x10
add ebp, 0xfffffff0
je 0x4f4947
mov eax, dword [edi - 4]
sub eax, esi
jbe 0x4f4920
mov byte [edi], 0
mov ecx, dword [edi - 8]
add eax, ecx
push esi
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [edi - 4], esi
jmp 0x4f4920
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.004b6010
cmp dword [esi], 0x80000000
je 0x4f505b
mov eax, dword [esi + 8]
cmp eax, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], 1
jne 0x4f5063
mov eax, 1
mov edx, dword [esi + 4]
mov ecx, eax
shl ecx, 4
mov esi, edx
nop word cs:[eax + eax]
nop
test ecx, ecx
je 0x4f49a7
add ecx, 0xfffffff0
cmp byte [esi + 0xc], 0
lea esi, [esi + 0x10]
jne 0x4f4990
mov edi, 0x80000001
jmp 0x4f49c4
lea ecx, [esp + 0x34]
push eax
call fcn.004f34f0
add esp, 4
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x14]
mov ebx, dword [esi]
cmp ebx, 0x80000000
jne 0x4f4a2e
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov ebx, 0x80000000
mov dword [esp + 4], eax
cmp edi, 0x80000001
je 0x4f4cfa
cmp ebx, 0x80000000
je 0x4f4cea
test ebp, ebp
mov dword [esp], ebx
mov dword [esp + 8], edi
je 0x4f4cca
mov esi, dword [esp + 4]
cmp ebp, 1
mov ecx, dword [esi + 8]
jne 0x4f4b0d
mov edi, dword [esp + 8]
cmp ecx, 2
jbe 0x4f4c96
jmp 0x4f4d14
mov ebp, dword [esi + 8]
cmp ebp, 0xa
jbe 0x4f4f12
cmp byte [esp], 0
je 0x4f4a69
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 8
jmp 0x4f4a58
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4ab1
cmp dword [eax], 6
jb 0x4f4a50
mov byte [eax + 4], 0
mov dword [eax], 5
jmp 0x4f4a50
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 0xc
jmp 0x4f4a88
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4ab1
mov ecx, dword [eax - 4]
cmp ecx, 6
jb 0x4f4a80
mov byte [eax], 0
mov edx, dword [eax - 8]
mov esi, dword [ecx + edx - 5]
movzx ecx, byte [ecx + edx - 1]
mov dword [edx], esi
mov esi, dword [esp + 0x14]
mov byte [edx + 4], cl
mov dword [eax - 4], 5
jmp 0x4f4a80
cmp byte [esp], 0
je 0x4f4abe
mov ecx, esi
call 0x4f5090
mov ebx, dword [esi]
cmp ebx, 0x80000000
je 0x4f49d6
mov ebp, dword [esi + 8]
cmp ebp, 0xb
jb 0x4f4f12
cmp byte [esp], 0
je 0x4f4d86
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 8
jmp 0x4f4afc
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4dc5
cmp dword [eax], 5
jb 0x4f4af0
mov byte [eax + 4], 0
mov dword [eax], 4
jmp 0x4f4af0
lea ebx, [ebp + 0xfffffff]
mov edi, dword [esp + 8]
xor edx, edx
mov eax, ebx
and eax, 0xfffffff
cmp eax, 8
jb 0x4f4c64
movd xmm0, ecx
and ebx, 7
mov edx, eax
add esi, 0x88
pshufd xmm1, xmm0, 0
movdqa xmm0, xmmword [0x539440]
sub edx, ebx
mov dword [esp + 0x18], ebx
mov ecx, edx
movdqa xmm2, xmm1
nop word cs:[eax + eax]
nop dword [eax + eax]
movd xmm3, dword [esi - 0x40]
movd xmm5, dword [esi - 0x50]
movd xmm4, dword [esi - 0x70]
movd xmm6, dword [esi - 0x20]
movdqa xmm7, xmm1
pxor xmm1, xmm0
punpckldq xmm5, xmm3
movd xmm3, dword [esi - 0x60]
punpckldq xmm4, xmm3
movd xmm3, dword [esi]
punpcklqdq xmm4, xmm5
movd xmm5, dword [esi - 0x10]
punpckldq xmm5, xmm3
movd xmm3, dword [esi - 0x30]
sub esi, 0xffffff80
add ecx, 0xfffffff8
punpckldq xmm3, xmm6
movdqa xmm6, xmm4
pxor xmm6, xmm0
punpcklqdq xmm3, xmm5
pcmpgtd xmm6, xmm1
pand xmm7, xmm6
pandn xmm6, xmm4
movdqa xmm4, xmm2
pxor xmm2, xmm0
movdqa xmm1, xmm6
movdqa xmm6, xmm3
pxor xmm6, xmm0
por xmm1, xmm7
pcmpgtd xmm6, xmm2
pand xmm4, xmm6
pandn xmm6, xmm3
movdqa xmm2, xmm6
por xmm2, xmm4
jne 0x4f4b60
movdqa xmm4, xmm1
movdqa xmm3, xmm2
cmp dword [esp + 0x18], 0
pxor xmm4, xmm0
pxor xmm3, xmm0
pcmpgtd xmm3, xmm4
pand xmm1, xmm3
pandn xmm3, xmm2
por xmm3, xmm1
pshufd xmm2, xmm3, 0xee
movdqa xmm4, xmm3
movdqa xmm1, xmm2
pxor xmm4, xmm0
pxor xmm1, xmm0
pcmpgtd xmm1, xmm4
pand xmm3, xmm1
pandn xmm1, xmm2
por xmm1, xmm3
movdqa xmm3, xmm1
pshufd xmm2, xmm1, 0x55
pxor xmm3, xmm0
pxor xmm0, xmm2
pcmpgtd xmm0, xmm3
pand xmm1, xmm0
pandn xmm0, xmm2
por xmm0, xmm1
movd ecx, xmm0
je 0x4f4c8d
mov esi, dword [esp + 4]
sub eax, edx
shl edx, 4
lea edx, [edx + esi + 0x18]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov esi, dword [edx]
cmp ecx, esi
cmovae ecx, esi
add edx, 0x10
dec eax
jne 0x4f4c80
mov esi, dword [esp + 4]
cmp ecx, 3
jae 0x4f4d02
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
add esi, 4
jmp 0x4f4cb6
add esi, 0x10
dec ebp
je 0x4f4cca
cmp dword [esi - 4], 0
je 0x4f4cb0
push dword [esi]
push 0
push dword [0x5a1188]
call edi
jmp 0x4f4cb0
cmp dword [esp], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 8]
je 0x4f4cea
push dword [esp + 4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esi], edi
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ebp, 0x40
jbe 0x4f4d14
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.004b2100
jmp 0x4f4cea
cmp edi, 0x80000000
je 0x4f4cfa
mov ebp, dword [esp + 0xc]
test ebp, ebp
je 0x4f4d68
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
lea esi, [eax + 4]
jmp 0x4f4d46
add esi, 0x10
dec ebp
je 0x4f4d68
cmp dword [esi - 4], 0
je 0x4f4d40
push dword [esi]
push 0
push dword [0x5a1188]
call edi
jmp 0x4f4d40
mov ecx, edx
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004b6010
cmp dword [esp + 8], 0
je 0x4f4cfa
push dword [esp + 0x10]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4f4cfa
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 0xc
jmp 0x4f4da8
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4dc5
mov ecx, dword [eax - 4]
cmp ecx, 5
jb 0x4f4da0
mov byte [eax], 0
mov edx, dword [eax - 8]
mov ecx, dword [ecx + edx - 4]
mov dword [edx], ecx
mov dword [eax - 4], 4
jmp 0x4f4da0
cmp byte [esp], 0
je 0x4f4dd2
mov ecx, esi
call 0x4f5090
mov ebx, dword [esi]
cmp ebx, 0x80000000
je 0x4f49d6
mov ebp, dword [esi + 8]
cmp ebp, 0x41
jb 0x4f4f12
cmp byte [esp], 0
je 0x4f4e16
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 8
jmp 0x4f4e05
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4e54
cmp dword [eax], 4
jb 0x4f4dfd
mov byte [eax + 4], 0
mov dword [eax], 3
jmp 0x4f4dfd
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 0xc
jmp 0x4f4e29
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4e54
mov ecx, dword [eax - 4]
cmp ecx, 4
jb 0x4f4e21
mov byte [eax], 0
mov edx, dword [eax - 8]
movzx esi, word [ecx + edx - 3]
movzx ecx, byte [ecx + edx - 1]
mov word [edx], si
mov esi, dword [esp + 0x14]
mov byte [edx + 2], cl
mov dword [eax - 4], 3
jmp 0x4f4e21
cmp byte [esp], 0
je 0x4f4e61
mov ecx, esi
call 0x4f5090
mov ebx, dword [esi]
cmp ebx, 0x80000000
je 0x4f49d6
mov ebp, dword [esi + 8]
cmp ebp, 0x41
jb 0x4f4f12
cmp byte [esp], 0
je 0x4f4ea5
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 8
jmp 0x4f4e94
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4ed7
cmp dword [eax], 3
jb 0x4f4e8c
mov byte [eax + 4], 0
mov dword [eax], 2
jmp 0x4f4e8c
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 0xc
jmp 0x4f4eb8
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f4ed7
mov ecx, dword [eax - 4]
cmp ecx, 3
jb 0x4f4eb0
mov byte [eax], 0
mov edx, dword [eax - 8]
movzx ecx, word [ecx + edx - 2]
mov word [edx], cx
mov dword [eax - 4], 2
jmp 0x4f4eb0
cmp byte [esp], 0
je 0x4f4ee4
mov ecx, esi
call 0x4f5090
mov ebx, dword [esi]
cmp ebx, 0x80000000
je 0x4f49d6
mov ebp, dword [esi + 8]
cmp ebp, 0xb
jb 0x4f4f12
cmp byte [esp], 0
je 0x4f4fe3
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 8
jmp 0x4f4fd2
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
test ebp, ebp
je 0x4f4f56
mov dword [esp + 8], edi
mov eax, ebp
xor ecx, ecx
mov edi, dword [esp + 4]
shl eax, 4
jmp 0x4f4f47
mov edx, dword [edi + ecx + 4]
movzx edx, byte [edx]
cmp byte [edx + str.743210_._g], 0xf9
ja 0x4f4f5d
add ecx, 0x10
cmp eax, ecx
je 0x4f4fc1
mov edx, dword [edi + ecx + 8]
cmp edx, 1
je 0x4f4f30
test edx, edx
jne 0x4f4f40
jmp 0x4f4f5f
xor ebp, ebp
jmp 0x4f49e5
xor edx, edx
mov dword [esp], ebx
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
mov esi, ebp
mov eax, dword [esp + 4]
sub esi, edx
shl edx, 4
lea ebx, [edx + eax + 4]
jmp 0x4f4f86
add ebx, 0x10
dec esi
je 0x4f4f9a
cmp dword [ebx - 4], 0
je 0x4f4f80
push dword [ebx]
push 0
push dword [0x5a1188]
call edi
jmp 0x4f4f80
cmp dword [esp], 0
je 0x4f4fb2
push dword [esp + 4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x14]
mov ebx, 0x80000000
mov dword [esi], 0x80000000
mov edi, dword [esp + 8]
jmp 0x4f49e5
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f5014
cmp dword [eax], 2
jb 0x4f4fca
mov byte [eax + 4], 0
mov dword [eax], 1
jmp 0x4f4fca
mov eax, dword [esi + 4]
shl ebp, 4
add eax, 0xc
jmp 0x4f4ff6
add eax, 0x10
add ebp, 0xfffffff0
je 0x4f5014
mov ecx, dword [eax - 4]
cmp ecx, 2
jb 0x4f4fee
mov byte [eax], 0
mov edx, dword [eax - 8]
movzx ecx, byte [ecx + edx - 1]
mov byte [edx], cl
mov dword [eax - 4], 1
jmp 0x4f4fee
cmp byte [esp], 0
je 0x4f5021
mov ecx, esi
call 0x4f5090
mov ebx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
cmp ebx, 0x80000000
mov dword [esp + 4], eax
jne 0x4f4f19
mov ebx, 0x80000000
jmp 0x4f49e5
mov ecx, eax
push 0x551d24
call fcn.00532c40
mov edx, ebp
push 0x551d04
call fcn.00532d00
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x34]
mov dword [esp + 0x34], 0
call fcn.005379c0
mov ecx, eax
push 0x551d14
call fcn.00532c40
mov edx, ebp
push 0x551cf4
call fcn.00532d00
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov ebx, dword [ecx + 8]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 4
mov dword [esp + 0x2c], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 4
mov byte [esp + 3], 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x14], 0
mov dword [esp + 4], ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 3]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x3c], eax
test ebx, ebx
mov dword [esp + 8], ebx
je 0x4f5155
mov esi, dword [ecx + 4]
neg ebx
mov ebp, 1
lea edi, [esp + 0x34]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esi + 4]
mov ecx, edi
push dword [esi + 8]
call fcn.004f53c0
add esp, 4
test al, al
je 0x4f515b
lea eax, [ebx + ebp + 1]
inc ebp
add esi, 0x10
cmp eax, 1
jne 0x4f5130
xor edi, edi
jmp 0x4f5182
xor ebp, ebp
xor edi, edi
jmp 0x4f5176
cmp dword [esi], 0
mov edi, 1
je 0x4f5176
push dword [esi + 4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 8]
sub esi, ebp
jne 0x4f5251
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
sub edx, edi
test esi, esi
mov dword [ecx + 8], edx
je 0x4f51ca
mov edi, dword [ecx + 4]
shl esi, 2
mov ebx, eax
nop word [eax + eax]
mov ecx, dword [ebx]
cmp ecx, edx
jae 0x4f52c7
shl ecx, 4
add ebx, 4
add esi, 0xfffffffc
mov byte [edi + ecx + 0xc], 0
jne 0x4f51b0
test ebp, ebp
je 0x4f51dd
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
test edi, edi
je 0x4f521a
mov ebp, dword [sym.imp.kernel32.dll_HeapFree]
lea ebx, [esi + 4]
jmp 0x4f5206
add ebx, 0xc
dec edi
je 0x4f521a
cmp dword [ebx - 4], 0
je 0x4f5200
push dword [ebx]
push 0
push dword [0x5a1188]
call ebp
jmp 0x4f5200
cmp dword [esp + 0x18], 0
je 0x4f5230
push esi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x24], 0
je 0x4f5249
push dword [esp + 0x28]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 4]
shl ebp, 4
lea ebx, [esp + 0x34]
add ebp, dword [eax + 4]
jmp 0x4f5299
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov eax, edi
mov ecx, ebp
shl eax, 4
sub ecx, eax
neg eax
movsd qword [ebp + eax + 8], xmm1
movsd qword [ecx], xmm0
add ebp, 0x10
dec esi
je 0x4f5182
mov edx, dword [ebp + 4]
mov ecx, ebx
push dword [ebp + 8]
call fcn.004f53c0
add esp, 4
test al, al
jne 0x4f5270
inc edi
cmp dword [ebp], 0
je 0x4f528f
push dword [ebp + 4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4f528f
push 0x551d44
call fcn.00532ca0
int3