Function at 0x46d4d0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x160], xmm7
mov rax, qword [0x013e5e40]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], rdx
mov edx, 0x10
mov dword [rsp + 0x144], 0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x46d531
lea rdx, [rcx + 0xf]
neg rcx
and rdx, rcx
imul rax, qword [rax], 0x16
jo 0x46edbd
add rdx, rax
jo 0x46edbd
mov rcx, qword [0x013e5e40]
call fcn.004650a0
mov r10d, 0xffffc3e3
mov edx, 0x73415e6
movdqa xmm0, xmmword [0x013e41d0]
lea rdi, [rax + 0x10]
mov dword [rax + 0x20], 0xff410000
movups xmmword [rax], xmm0
movdqa xmm0, xmmword [0x013e41e0]
lea rcx, [0x013e3fc0]
mov word [rax + 0x24], r10w
movups xmmword [rax + 0x10], xmm0
mov qword [rsp + 0x100], rdi
lea rdi, [0x013e35d3]
mov qword [rsp + 0x80], rax
call fcn.00464e30
mov qword [rsp + 0x108], rdi
mov rcx, rdi
test rax, rax
je 0x46d5d1
lea rdx, [rax + 0x10]
cmp qword [rax], 0
cmove rdx, qword [rsp + 0x108]
mov qword [rsp + 0x108], rdx
mov rcx, rdx
mov rax, qword [0x013e5c80]
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [rax]
xor edx, edx
mov rcx, rax
mov rbx, rax
mov rax, qword [0x013e5c90]
call qword [rax]
mov esi, eax
mov rax, qword [0x013e5cb0]
call qword [rax]
movsxd r8, esi
xor edx, edx
mov rcx, rax
mov rax, qword [0x013e5c60]
call qword [rax]
lea r9, [rsp + 0x144]
mov r8d, esi
mov rcx, rbx
mov rdi, rax
mov qword [rsp + 0x50], rax
mov rdx, rax
mov rax, qword [0x013e5ca0]
mov qword [rsp + 0x20], 0
call qword [rax]
movsxd r13, dword [rdi + 0x3c]
add r13, rdi
movzx eax, word [r13 + 0x14]
lea rsi, [r13 + 0x18]
cmp word [r13 + 6], 0
mov ebp, dword [r13 + 0x88]
lea rdi, [rsi + rax]
mov qword [rsp + 0x60], rdi
je 0x46ec0d
lea rbx, [rsi + rax]
xor r12d, r12d
mov r15, rax
movdqa xmm6, xmmword [0x013e41f0]
lea rdi, [0x013e3f90]
jmp 0x46d6a8
mov rbx, r15
movzx r15d, word [r13 + 0x14]
lea eax, [r12 + r12*4]
add r15, rsi
mov ecx, 0x19
shl eax, 3
movzx eax, ax
add r15, rax
call fcn.004704f0
mov rcx, rdi
movups xmmword [rax], xmm6
movzx edx, byte [r15]
mov r14, rax
mov byte [rax + 0x10], dl
movzx edx, byte [r15 + 1]
mov byte [rax + 0x11], dl
movzx edx, byte [r15 + 2]
mov byte [rax + 0x12], dl
movzx edx, byte [r15 + 3]
mov byte [rax + 0x13], dl
movzx edx, byte [r15 + 4]
mov byte [rax + 0x14], dl
movzx edx, byte [r15 + 5]
mov byte [rax + 0x15], dl
movzx edx, byte [r15 + 6]
mov byte [rax + 0x16], dl
movzx edx, byte [r15 + 7]
mov byte [rax + 0x17], dl
mov edx, 0x3cfe7902
call fcn.00464e30
mov rcx, r14
mov rdx, rax
call fcn.00470cf0
test rax, rax
cmovs r15, rbx
add r12d, 1
cmp word [r13 + 6], r12w
ja 0x46d6a0
mov rbx, qword [rsp + 0x50]
movsxd rcx, ebp
movsxd rdx, dword [r15 + 0xc]
movsxd rax, dword [r15 + 0x14]
add rcx, rbx
sub rcx, rdx
lea rdi, [rcx + rax]
movsxd rcx, dword [rdi + 0x20]
mov qword [rsp + 0x70], rdi
mov r9d, dword [rdi + 0x18]
add rcx, rbx
sub rcx, rdx
lea rsi, [rcx + rax]
movsxd rcx, dword [rdi + 0x1c]
mov qword [rsp + 0x68], rsi
add rcx, rbx
sub rcx, rdx
test r9d, r9d
lea rbx, [rcx + rax]
mov qword [rsp + 0x58], rbx
jle 0x46ddfe
mov rsi, qword [rsp + 0x100]
mov qword [rsp + 0x78], r15
mov rdi, qword [rsp + 0x1c8]
mov qword [rsp + 0x48], 0
movdqa xmm6, xmmword [0x013e4200]
movdqa xmm7, xmmword [0x013e4140]
lea rbx, [rsi + 0x10]
add rdi, 0x10
cmp qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rdi
mov rbx, qword [rsp + 0x80]
setae r8b
cmp rsi, rdi
setae cl
xor edi, edi
xor esi, esi
or r8d, ecx
mov byte [rsp + 0x13f], r8b
jmp 0x46d840
test rcx, rcx
je 0x46d825
cmp qword [rsp + 0x1c0], 0
je 0x46d825
mov rdx, qword [rsp + 0x1c0]
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x46ea60
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x18], edi
jle 0x46de00
mov rax, qword [rsp + 0x78]
movsxd rdx, dword [rax + 0xc]
movsxd rax, dword [rax + 0x14]
mov r11, qword [rsp + 0x48]
mov r15d, edi
add edi, 1
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x50]
movsxd rcx, dword [rcx + r11*4]
add rcx, r10
sub rcx, rdx
mov rdx, qword [rsp + 0x58]
add rcx, rax
mov rax, qword [rsp + 0x60]
movsxd r13, dword [rax + 0xc]
movsxd r14, dword [rax + 0x14]
movsxd rax, edi
movsxd r12, dword [rdx + rax*4]
mov qword [rsp + 0x48], rax
add r12, r10
sub r12, r13
add r12, r14
cmp qword [rsp + 0x1c0], rcx
jne 0x46d800
mov rax, qword [0x013e6210]
mov r8d, dword [rax]
test r8d, r8d
je 0x46d8c1
mov rax, qword [rsp + 0x58]
add r15d, 8
movsxd r15, r15d
movsxd r12, dword [rax + r15*4]
add r12, qword [rsp + 0x50]
sub r12, r13
add r12, r14
lea rcx, [0x013e3f60]
mov edx, 0x6987e26
call fcn.00464e30
cmp qword [rsp + 0x1c0], 0
mov rsi, rax
je 0x46eb30
mov rcx, qword [rsp + 0x1c0]
call sub.msvcrt.dll_strlen
mov ecx, 0x18
mov qword [rsp + 0x80], 7
cmp rax, 6
mov r14, rax
jbe 0x46d917
lea rcx, [rax + 0x11]
mov qword [rsp + 0x80], rax
call fcn.004702f0
lea r8, [r14 + 1]
movq xmm0, r14
mov rdx, qword [rsp + 0x1c0]
lea r13, [rax + 0x10]
movhps xmm0, qword [rsp + 0x80]
mov r15, rax
movups xmmword [rax], xmm0
mov rcx, r13
call sub.msvcrt.dll_memcpy
test rsi, rsi
je 0x46eb80
test r15, r15
mov rdx, qword [rsi]
je 0x46eb3c
add rdx, qword [r15]
mov eax, 7
cmp rdx, 7
cmovl rdx, rax
lea rcx, [rdx + 0x11]
mov qword [rsp + 0x80], rdx
call fcn.004704f0
mov rdx, qword [rsp + 0x80]
lea rcx, [rax + 0x10]
mov r14, rax
mov qword [rax], 0
mov qword [rax + 8], rdx
mov rax, qword [rsi]
lea rdx, [rsi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
mov qword [r14], rax
lea rcx, [rax + 0x10]
mov r8, qword [r15]
add rcx, r14
mov rdx, r13
add r8, 1
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add qword [r14], rax
mov ecx, 1
call qword [fcn.00474b60]
mov rdx, r14
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov r8d, 1
mov edx, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
movzx eax, byte [r12 + 4]
mov edx, 0x80e95c2
lea rcx, [0x013e3f40]
mov byte [rbx + 0x14], al
movzx eax, byte [r12 + 5]
mov byte [rbx + 0x15], al
movzx eax, byte [r12 + 6]
mov byte [rbx + 0x16], al
movzx eax, byte [r12 + 7]
mov byte [rbx + 0x17], al
call fcn.00464e30
movzx esi, byte [rbx + 0x14]
mov ecx, 0x18
mov r13, rax
call fcn.004704f0
mov rbp, qword [0x013e5ea0]
mov ecx, 0x18
movups xmmword [rax], xmm6
mov r15, rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r15 + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [r15 + 0x10], al
movzx esi, byte [rbx + 0x15]
call fcn.004704f0
mov ecx, 0x18
movups xmmword [rax], xmm6
mov r12, rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r12 + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [r12 + 0x10], al
movzx r14d, byte [rbx + 0x16]
call fcn.004704f0
mov ecx, 0x18
movups xmmword [rax], xmm6
mov rsi, rax
mov rax, r14
shr r14, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rsi + 0x11], al
movzx eax, byte [rbp + r14 + 0x10]
mov byte [rsi + 0x10], al
movzx r14d, byte [rbx + 0x17]
call fcn.004704f0
mov r9, rax
movups xmmword [rax], xmm6
mov rax, r14
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r9 + 0x11], al
movzx eax, r14b
shr rax, 4
test r13, r13
movzx eax, byte [rbp + rax + 0x10]
mov byte [r9 + 0x10], al
je 0x46ea90
mov rdx, qword [r15]
mov eax, 7
mov qword [rsp + 0x88], r9
add rdx, qword [r13]
add rdx, qword [r12]
add rdx, qword [rsi]
add rdx, 2
cmp rdx, 7
cmovl rdx, rax
lea rcx, [rdx + 0x11]
mov qword [rsp + 0x80], rdx
call fcn.004704f0
mov rdx, qword [rsp + 0x80]
mov qword [rax], 0
lea rcx, [rax + 0x10]
mov r14, rax
mov qword [rax + 8], rdx
mov rax, qword [r13]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
mov r9, qword [rsp + 0x88]
mov qword [r14], rax
add rax, 0x10
lea rcx, [r14 + rax]
mov rax, qword [r15]
mov qword [rsp + 0x80], r9
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
lea rdx, [r12 + 0x10]
add rax, qword [r14]
lea rcx, [r14 + rax + 0x10]
mov qword [r14], rax
mov rax, qword [r12]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r12]
lea rdx, [rsi + 0x10]
add rax, qword [r14]
lea rcx, [r14 + rax + 0x10]
mov qword [r14], rax
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
mov r9, qword [rsp + 0x80]
add rax, qword [r14]
lea rdx, [r9 + 0x10]
lea rcx, [r14 + rax + 0x10]
mov qword [r14], rax
mov rax, qword [r9]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x80]
mov ecx, 1
mov rax, qword [r9]
add qword [r14], rax
call qword [fcn.00474b60]
mov rdx, r14
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov r8d, 1
mov edx, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
mov rax, qword [0x013e5cc0]
mov rcx, qword [rsp + 0x108]
call qword [rax]
test rax, rax
mov rsi, rax
je 0x46ed16
lea rcx, [0x013e3f00]
mov edx, 0x38dde082
call fcn.00464e30
mov ecx, 1
mov r12, rax
call qword [fcn.00474b60]
mov rdx, r12
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov r8d, 1
mov edx, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
mov rax, qword [0x013e5cd0]
mov rcx, rsi
mov rdx, qword [rsp + 0x1c0]
call qword [rax]
test rax, rax
mov r12, rax
je 0x46ec15
lea rcx, [0x013e3e60]
mov edx, 0x1d030942
call fcn.00464e30
mov ecx, 1
mov rsi, rax
call qword [fcn.00474b60]
mov rdx, rsi
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov r8d, 1
mov edx, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
lea rax, [r12 + 0x27]
nop
cmp byte [r12], 0xf
jne 0x46dd93
cmp byte [r12 + 1], 5
je 0x46de30
add r12, 1
cmp rax, r12
jne 0x46dd80
lea rcx, [0x013e3da0]
mov edx, 0x6dc792e6
call fcn.00464e30
mov rbx, rax
mov ecx, 1
call qword [fcn.00474b60]
mov rdx, rbx
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov r8d, 1
mov edx, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
xor esi, esi
movaps xmm6, xmmword [rsp + 0x150]
mov eax, esi
movaps xmm7, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x013e3de0]
mov edx, 0x372c4002
call fcn.00464e30
test rax, rax
mov r13, rax
je 0x46eae0
mov rdx, qword [0x013e5e00]
mov rcx, r12
mov rsi, qword [r13]
call fcn.0046a060
test rax, rax
je 0x46de77
mov rdx, qword [0x013e5e00]
mov rcx, r12
call fcn.0046a060
add rsi, qword [rax]
cmp rsi, 7
mov eax, 7
cmovl rsi, rax
lea rcx, [rsi + 0x11]
call fcn.004704f0
lea rdx, [r13 + 0x10]
mov r14, rax
mov qword [rax + 8], rsi
mov qword [rax], 0
mov rax, qword [r13]
lea rcx, [r14 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
mov qword [r14], rax
mov rdx, qword [0x013e5e00]
mov rcx, r12
call fcn.0046a060
test rax, rax
mov rsi, rax
je 0x46deec
mov rax, qword [r14]
lea rdx, [rsi + 0x10]
lea rcx, [r14 + rax + 0x10]
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add qword [r14], rax
mov ecx, 1
call qword [fcn.00474b60]
mov rdx, r14
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov edx, 1
mov r8d, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
mov qword [rsp + 0x148], r12
cmp byte [rsp + 0x13f], 0
mov byte [rbx + 0x1a], r12b
movzx edx, byte [rsp + 0x149]
mov byte [rbx + 0x1b], dl
movzx edx, byte [rsp + 0x14a]
mov byte [rbx + 0x1c], dl
movzx edx, byte [rsp + 0x14b]
mov byte [rbx + 0x1d], dl
movzx edx, byte [rsp + 0x14c]
mov byte [rbx + 0x1e], dl
movzx edx, byte [rsp + 0x14d]
mov byte [rbx + 0x1f], dl
movzx edx, byte [rsp + 0x14e]
mov byte [rbx + 0x20], dl
movzx edx, byte [rsp + 0x14f]
mov byte [rbx + 0x21], dl
je 0x46ebb3
mov rax, qword [rsp + 0x1c8]
movdqu xmm1, xmmword [rbx + 0x10]
mov rsi, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x1c8]
movups xmmword [rax], xmm1
mov rax, qword [rsp + 0x128]
movzx eax, byte [rax]
mov byte [rsi], al
mov rsi, qword [rsp + 0x100]
movzx eax, byte [rsi + 0x11]
mov byte [rcx + 0x11], al
movzx eax, byte [rsi + 0x12]
mov byte [rcx + 0x12], al
movzx eax, byte [rsi + 0x13]
mov byte [rcx + 0x13], al
movzx eax, byte [rsi + 0x14]
mov byte [rcx + 0x14], al
lea rcx, [0x013e3d60]
mov edx, 0x5ca8c326
call fcn.00464e30
movzx esi, byte [rbx + 0x10]
mov ecx, 0x18
mov qword [rsp + 0x80], rax
call fcn.004704f0
mov ecx, 0x18
mov r11, rax
movups xmmword [rax], xmm6
mov rax, rsi
shr rsi, 4
mov qword [rsp + 0x120], r11
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r11 + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [r11 + 0x10], al
movzx esi, byte [rbx + 0x11]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0x88], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x12]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0x90], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x13]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0x98], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x14]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0xa0], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x15]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0xa8], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x16]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0xb0], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x17]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0xb8], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x18]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0xc0], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x19]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0xc8], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x1a]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0xd0], rax
mov rax, rsi
and eax, 0xf
shr rsi, 4
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x1b]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0xd8], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x1c]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0xe0], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x1d]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0xe8], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx esi, byte [rbx + 0x1e]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
mov rdx, rax
movups xmmword [rax], xmm6
mov qword [rsp + 0xf0], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rdx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rdx + 0x10], al
movzx esi, byte [rbx + 0x1f]
call fcn.004704f0
movups xmmword [rax], xmm6
mov rcx, rax
mov qword [rsp + 0xf8], rax
mov rax, rsi
shr rsi, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rsi + 0x10]
mov byte [rcx + 0x10], al
movzx r12d, byte [rbx + 0x20]
mov ecx, 0x18
call fcn.004704f0
mov ecx, 0x18
movups xmmword [rax], xmm6
mov rsi, rax
mov rax, r12
shr r12, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rsi + 0x11], al
movzx eax, byte [rbp + r12 + 0x10]
mov byte [rsi + 0x10], al
movzx r13d, byte [rbx + 0x21]
call fcn.004704f0
mov ecx, 0x18
movups xmmword [rax], xmm6
mov r12, rax
mov rax, r13
shr r13, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r12 + 0x11], al
movzx eax, byte [rbp + r13 + 0x10]
mov byte [r12 + 0x10], al
movzx r14d, byte [rbx + 0x22]
call fcn.004704f0
mov ecx, 0x18
movups xmmword [rax], xmm6
mov r13, rax
mov rax, r14
shr r14, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r13 + 0x11], al
movzx eax, byte [rbp + r14 + 0x10]
mov byte [r13 + 0x10], al
movzx r15d, byte [rbx + 0x23]
call fcn.004704f0
mov ecx, 0x18
movups xmmword [rax], xmm6
mov r14, rax
mov rax, r15
shr r15, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r14 + 0x11], al
movzx eax, byte [rbp + r15 + 0x10]
mov byte [r14 + 0x10], al
movzx edx, byte [rbx + 0x24]
mov byte [rsp + 0x110], dl
call fcn.004704f0
movzx edx, byte [rsp + 0x110]
mov ecx, 0x18
movups xmmword [rax], xmm6
mov r15, rax
mov rax, rdx
shr rdx, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [r15 + 0x11], al
movzx eax, byte [rbp + rdx + 0x10]
mov byte [r15 + 0x10], al
movzx edx, byte [rbx + 0x25]
mov byte [rsp + 0x118], dl
call fcn.004704f0
movzx edx, byte [rsp + 0x118]
mov rcx, rax
movups xmmword [rax], xmm6
mov r11, qword [rsp + 0x120]
mov qword [rsp + 0x110], rax
mov rax, rdx
shr rdx, 4
and eax, 0xf
movzx eax, byte [rbp + rax + 0x10]
mov byte [rcx + 0x11], al
movzx eax, byte [rbp + rdx + 0x10]
mov byte [rcx + 0x10], al
mov rcx, qword [rsp + 0x80]
xor eax, eax
test rcx, rcx
je 0x46e4d3
mov rax, qword [rcx]
add rax, qword [r11]
mov qword [rsp + 0x120], r11
mov rdx, rax
mov rax, qword [rsp + 0x88]
add rdx, qword [rax]
mov rax, qword [rsp + 0x90]
add rdx, qword [rax]
mov rax, qword [rsp + 0x98]
add rdx, qword [rax]
mov rax, qword [rsp + 0xa0]
add rdx, qword [rax]
mov rax, qword [rsp + 0xa8]
add rdx, qword [rax]
mov rax, qword [rsp + 0xb0]
add rdx, qword [rax]
mov rax, qword [rsp + 0xb8]
add rdx, qword [rax]
mov rax, qword [rsp + 0xc0]
add rdx, qword [rax]
mov rax, qword [rsp + 0xc8]
add rdx, qword [rax]
mov rax, qword [rsp + 0xd0]
add rdx, qword [rax]
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax]
mov rax, qword [rsp + 0xe0]
add rdx, qword [rax]
mov rax, qword [rsp + 0xe8]
add rdx, qword [rax]
mov rax, qword [rsp + 0xf0]
add rdx, qword [rax]
mov rax, qword [rsp + 0xf8]
add rdx, qword [rax]
mov eax, 7
add rdx, qword [rsi]
add rdx, qword [r12]
add rdx, qword [r13]
add rdx, qword [r14]
add rdx, qword [r15]
add rdx, 2
cmp rdx, 7
cmovl rdx, rax
lea rcx, [rdx + 0x11]
mov qword [rsp + 0x118], rdx
call fcn.004704f0
mov rdx, qword [rsp + 0x118]
mov ecx, 0x10
cmp qword [rsp + 0x80], 0
mov rbp, rax
mov qword [rax], 0
mov r11, qword [rsp + 0x120]
mov qword [rax + 8], rdx
je 0x46e626
mov rdx, qword [rsp + 0x80]
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x118], r11
mov rax, qword [rdx]
add rdx, 0x10
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x118]
mov rcx, qword [rdx]
mov qword [rbp], rcx
add rcx, 0x10
mov rax, qword [r11]
lea rdx, [r11 + 0x10]
add rcx, rbp
mov qword [rsp + 0x80], r11
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov rax, qword [r11]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0x90]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x90]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0x98]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x98]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xa0]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xa8]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xb0]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xb8]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xc0]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xc8]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xd0]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xd8]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xe0]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xe8]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xf0]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rdx]
mov rdx, qword [rsp + 0xf8]
add rax, qword [rbp]
add rdx, 0x10
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rdx - 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rdx]
lea rdx, [rsi + 0x10]
add rax, qword [rbp]
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
lea rdx, [r12 + 0x10]
add rax, qword [rbp]
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [r12]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r12]
lea rdx, [r13 + 0x10]
add rax, qword [rbp]
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [r13]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
lea rdx, [r14 + 0x10]
add rax, qword [rbp]
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [r14]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r14]
lea rdx, [r15 + 0x10]
add rax, qword [rbp]
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [r15]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0x110]
mov rax, qword [r15]
add rax, qword [rbp]
lea rdx, [rsi + 0x10]
lea rcx, [rbp + rax + 0x10]
mov qword [rbp], rax
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
mov ecx, 1
mov esi, 1
add qword [rbp], rax
call qword [fcn.00474b60]
mov rdx, rbp
mov rcx, rax
call fcn.00470b90
mov ecx, 1
call qword [fcn.00474b60]
mov r8d, 1
mov edx, 1
lea rcx, [0x013e35d1]
mov r9, rax
call sub.msvcrt.dll_fwrite
mov ecx, 1
call qword [fcn.00474b60]
mov rcx, rax
call fcn.00474ad8
jmp 0x46d825
mov rax, qword [0x013e6210]
mov eax, dword [rax]
test eax, eax
jne 0x46d8a6
lea rcx, [0x013e3f60]
mov edx, 0x6987e26
call fcn.00464e30
mov rsi, rax
jmp 0x46d8e4
mov r13, qword [r12]
mov eax, 7
mov qword [rsp + 0x80], r9
add r13, qword [r15]
add r13, qword [rsi]
add r13, 2
cmp r13, 7
cmovl r13, rax
lea rcx, [r13 + 0x11]
call fcn.004704f0
mov r9, qword [rsp + 0x80]
mov r14, rax
mov qword [rax + 8], r13
mov qword [rax], 0
mov eax, 0x10
jmp 0x46db9c
mov rdx, qword [0x013e5e00]
mov rcx, r12
call fcn.0046a060
test rax, rax
je 0x46ebd7
mov rdx, qword [0x013e5e00]
mov rcx, r12
mov esi, 7
call fcn.0046a060
cmp qword [rax], 7
cmovge rsi, qword [rax]
lea rcx, [rsi + 0x11]
call fcn.004704f0
mov r14, rax
mov qword [rax + 8], rsi
mov qword [rax], 0
jmp 0x46deb7
test rax, rax
je 0x46ebec
mov rdx, qword [rax]
cmp rdx, 7
mov r13d, 7
cmovge r13, rdx
lea rcx, [r13 + 0x11]
call fcn.004704f0
lea rdx, [rsi + 0x10]
mov qword [rax + 8], r13
lea rcx, [rax + 0x10]
mov r14, rax
mov qword [rax], 0
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
mov qword [r14], rax
jmp 0x46d9c9
test r15, r15
je 0x46ebec
cmp qword [r15], 7
mov esi, 7
cmovge rsi, qword [r15]
lea rcx, [rsi + 0x11]
call fcn.004704f0
mov ecx, 0x10
mov r14, rax
mov qword [rax + 8], rsi
mov qword [rax], 0
jmp 0x46d9b1
mov rcx, qword [rsp + 0x1c8]
xor eax, eax
nop dword [rax]
movzx edx, byte [rbx + rax + 0x10]
mov byte [rcx + rax], dl
add rax, 1
cmp rax, 0x15
jne 0x46ebc0
jmp 0x46dff2
mov ecx, 0x18
call fcn.004704f0
mov r14, rax
movups xmmword [rax], xmm7
jmp 0x46deb7
mov ecx, 0x18
call fcn.004704f0
mov r14, rax
mov qword [rax + 8], 7
mov qword [rax], 0
jmp 0x46d9c9
mov r15, rdi
jmp 0x46d735
lea rcx, [0x013e3e20]
mov edx, 0x7486ca6
call fcn.00464e30
mov rdi, rax
mov rax, qword [0x013e5c70]
call qword [rax]
lea rcx, [0x013e3e90]
mov qword [rsp + 0x148], 0
mov ebx, eax
call fcn.00464c10
lea rcx, [rsp + 0x148]
movsxd rdx, ebx
mov qword [rsp + 0x148], rax
call fcn.00467c50
mov rcx, qword [rsp + 0x148]
mov edx, 1
call fcn.00461ed0
mov ecx, 0x5d
mov qword [rsp + 0x148], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], cx
add rdx, 1
test rdi, rdi
mov qword [rax], rdx
mov rbp, qword [rsp + 0x148]
je 0x46ed27
test rbp, rbp
mov rsi, qword [rdi]
je 0x46ed7a
add rsi, qword [rbp]
mov eax, 7
cmp rsi, 7
cmovl rsi, rax
lea rcx, [rsi + 0x11]
call fcn.004704f0
lea rdx, [rdi + 0x10]
mov qword [rax + 8], rsi
lea rcx, [rax + 0x10]
mov rbx, rax
mov qword [rax], 0
mov rax, qword [rdi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
mov qword [rbx], rax
add rax, 0x10
lea rcx, [rbx + rax]
mov rax, qword [rbp]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add qword [rbx], rax
jmp 0x46ddb0
lea rcx, [0x013e3ec0]
mov edx, 0x70f5c066
jmp 0x46ec21
test rbp, rbp
je 0x46ed59
cmp qword [rbp], 7
mov esi, 7
cmovge rsi, qword [rbp]
lea rcx, [rsi + 0x11]
call fcn.004704f0
mov rbx, rax
mov qword [rax + 8], rsi
mov qword [rax], 0
mov eax, 0x10
jmp 0x46ecf5
mov ecx, 0x18
call fcn.004704f0
mov rbx, rax
mov qword [rax + 8], 7
mov qword [rax], 0
jmp 0x46ddb0
cmp rsi, 7
mov eax, 7
cmovl rsi, rax
lea rcx, [rsi + 0x11]
call fcn.004704f0
lea rdx, [rdi + 0x10]
mov qword [rax + 8], rsi
lea rcx, [rax + 0x10]
mov rbx, rax
mov qword [rax], 0
mov rax, qword [rdi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
mov qword [rbx], rax
jmp 0x46ddb0
call fcn.0046b060
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop