Function at 0x42338b
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x868
mov r14, rdx
mov qword [rsp + 0xb8], rcx
lea rax, [rsp + 0x710]
lea rsi, [0x00488550]
mov ecx, 9
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rax - 0x10], rdx
mov qword [rax - 8], 0xb6d
mov qword [rax - 0x20], 0
lea rcx, [rsp + 0x711]
lea rdx, [0x0048d9b1]
mov r8d, 0x27
call sub.ntdll.dll_memcmp
test eax, eax
je 0x423432
mov ebx, 3
mov r12d, 5
mov r13d, 0x48862a09
movabs rdi, 0x101010df786
xor r15d, r15d
xor r8d, r8d
xor esi, esi
xor r14d, r14d
xor r10d, r10d
xor ebp, ebp
xor edx, edx
xor r9d, r9d
mov rax, qword [rsp + 0xb8]
jmp 0x4237d4
lea rdx, [rsp + 0x220]
mov qword [rdx], r14
mov eax, 0xb6d
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], 0
lea rsi, [rsp + 0xc8]
mov rcx, rsi
call fcn.0042cc7c
cmp dword [rsi], 2
jne 0x42347d
mov dl, byte [rsp + 0xcc]
lea rcx, [rsp + 0x450]
call fcn.0042ccd6
jmp 0x4234bd
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x480], rax
movups xmm0, xmmword [rsp + 0xc8]
movups xmm1, xmmword [rsp + 0xd8]
movups xmm2, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x470], xmm2
movaps xmmword [rsp + 0x460], xmm1
movaps xmmword [rsp + 0x450], xmm0
mov ecx, dword [rsp + 0x450]
cmp ecx, 2
jne 0x4235a1
movzx r12d, byte [rsp + 0x454]
movzx eax, word [rsp + 0x455]
mov qword [rsp + 0x78], rax
lea rdi, [rsp + 0xc8]
lea rsi, [rsp + 0x220]
mov rcx, rdi
mov rdx, rsi
call fcn.0042cc7c
mov eax, dword [rdi]
cmp eax, 2
jne 0x4236b6
mov bl, byte [rsp + 0xcc]
xor r15d, r15d
test bl, bl
js 0x4235fa
mov ecx, ebx
cmp r12d, 9
jne 0x42382a
movzx eax, cl
shl r15d, 8
or r15d, eax
mov eax, dword [rsp + 0x230]
mov edx, dword [rsp + 0x238]
xor ecx, ecx
sub eax, edx
cmovb eax, ecx
cmp eax, r15d
jae 0x423876
add r15d, edx
setb r9b
mov r8d, 0xa
cmp r15d, 0xfffffff
ja 0x42395c
test r9b, r9b
jne 0x42395c
add eax, edx
setb r9b
cmp eax, 0xfffffff
ja 0x4239a6
test r9b, r9b
jne 0x4239a6
shl r15, 0x20
or r15, 3
mov ecx, 1
mov r8, r15
jmp 0x4239a8
mov r8b, byte [rsp + 0x458]
movzx edx, byte [rsp + 0x45b]
shl edx, 0x10
movzx eax, word [rsp + 0x459]
or eax, edx
mov edx, dword [rsp + 0x45c]
mov r9, qword [rsp + 0x460]
mov rbp, qword [rsp + 0x468]
mov r14, qword [rsp + 0x470]
mov rbx, qword [rsp + 0x478]
mov r11, qword [rsp + 0x480]
mov r10d, dword [rsp + 0x454]
jmp 0x423767
xor eax, eax
mov r13b, 0xb
cmp bl, 0x80
je 0x4236b4
cmp bl, 0x84
ja 0x4236b4
movzx ebp, bl
xor rbp, 0x80
je 0x4236b4
xor edx, edx
lea rdi, [rsp + 0xc8]
lea r14, [rsp + 0x220]
mov r15d, edx
mov rcx, rdi
mov rdx, r14
call fcn.0042cc7c
mov eax, dword [rsp + 0xc8]
cmp eax, 2
jne 0x4236b6
mov eax, r15d
shl eax, 8
movzx ecx, byte [rsp + 0xcc]
lea edx, [rax + rcx]
dec rbp
jne 0x423633
cmp edx, 0xfffffff
ja 0x4239e6
and edx, 0xffffff80
mov r8b, 0x81
cmp edx, 0x80
je 0x4236a9
lea edx, [rax - 0x100]
mov r8b, 0x82
cmp edx, 0xff00
jb 0x4236a9
lea edx, [rax - 0x10000]
mov r8b, 0x83
cmp edx, 0xff0000
jb 0x4236a9
mov r8b, 0x84
cmp eax, 0x1000000
jb 0x4236b2
cmp r8b, bl
je 0x42351d
xor eax, eax
jmp 0x42371c
mov cl, byte [rsp + 0xcc]
mov r13b, byte [rsp + 0xd0]
movzx edx, byte [rsp + 0xcf]
shl edx, 0x10
movzx r15d, word [rsp + 0xcd]
or r15d, edx
mov r9b, byte [rsp + 0xd1]
movzx r8d, word [rsp + 0xd2]
mov edx, dword [rsp + 0xd4]
mov rsi, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
and r15d, 0xffffff
shl r15, 8
movzx r10d, cl
or r10, r15
xor ecx, ecx
cmp r13b, 0xb
mov r15, qword [rsp + 0x78]
cmovne r15d, r8d
movzx r9d, r9b
cmove r9d, r12d
movzx r11d, r13b
mov r8d, 5
cmovne r8d, r11d
cmovne ecx, eax
shl r15d, 8
movzx eax, r9b
or eax, r15d
mov r9, rsi
mov r11, rdi
shl rax, 0x28
movzx r8d, r8b
shl r8, 0x20
or r8, rax
or r8, r10
mov dword [rsp + 0x28c], edx
mov dword [rsp + 0x280], ecx
mov qword [rsp + 0x284], r8
mov r8, rbx
mov r10, r14
mov rdx, rbp
mov rcx, qword [rsp + 0x78]
mov eax, ecx
shl eax, 8
or r12d, eax
mov byte [rsp + 0x288], 0x11
mov byte [rsp + 0x28b], 0
mov word [rsp + 0x289], 9
mov byte [rsp + 0x28e], ch
mov word [rsp + 0x28c], r12w
xor eax, eax
mov dword [rsp + 0x280], eax
mov dword [rsp + 0x283], eax
jmp 0x423798
mov eax, r15d
lea rdx, [rsp + 0x2d0]
mov qword [rdx], rsi
mov qword [rdx + 8], rax
lea rsi, [rsp + 0xc8]
mov rcx, rsi
call fcn.00448682
mov ebx, dword [rsi]
cmp ebx, 2
jne 0x423961
movabs r13, 0xff00000000
mov r12, qword [rsp + 0xcc]
mov rax, r12
and rax, r13
movabs rcx, 0x100000000
cmp rax, rcx
jne 0x4239c6
lea rsi, [rsp + 0xc8]
lea rdx, [rsp + 0x2d0]
mov rcx, rsi
mov r8d, r12d
call fcn.004485bc
mov ebx, dword [rsi]
cmp ebx, 2
jne 0x4239f0
mov r9, qword [rsp + 0xd8]
mov rcx, r9
shl rcx, 0x20
or rcx, 0xa
xor ebx, ebx
cmp r9, 0x10000000
jae 0x42391a
mov rcx, qword [rsp + 0xd0]
jae 0x423a37
mov r14d, 0x106
test r9, r9
je 0x423d91
cmp r9, 1
jne 0x423a70
mov r15b, byte [rcx]
test r15b, r15b
jne 0x423a7c
xor eax, eax
mov r15d, 0
cmp r12d, 1
je 0x423ab8
jmp 0x423d93
mov edx, r15d
jmp 0x4239a8
mov r13d, dword [rsp + 0xcc]
mov r9, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xf8]
mov r14, qword [rsp + 0xd0]
mov eax, r13d
and eax, 0xffffff00
jmp 0x423a4f
mov edx, eax
mov r9d, eax
mov dword [rsp + 0x284], edx
mov qword [rsp + 0x288], r8
mov dword [rsp + 0x280], ecx
jmp 0x423798
movabs rax, 0xffffff00000000
and r12, rax
or r12, 0x111
xor r13d, r13d
mov r14, r12
xor eax, eax
xor ebx, ebx
jmp 0x423a4f
xor eax, eax
mov r13b, 0xa
jmp 0x42371c
mov r13d, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xffffffff00000000
and rax, rdx
mov r10, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xf8]
jmp 0x423a3f
mov r13d, r9d
mov rdx, r9
xor eax, eax
mov edx, edx
or rdx, rax
mov eax, r13d
and eax, 0xffffff00
mov r14, rcx
mov r15b, byte [rcx]
test r15b, r15b
je 0x423d88
mov rax, r9
test r15b, r15b
js 0x423d80
mov r14d, 0x105
cmp rax, 1
ja 0x423d91
mov eax, r15d
shr al, 7
inc al
movzx ecx, al
xor eax, eax
cmp ecx, r12d
jne 0x423de2
cmp r15b, 1
ja 0x423df3
lea rsi, [rsp + 0xc8]
lea rdx, [rsp + 0x2d0]
mov rcx, rsi
call fcn.0043fb6a
mov edi, dword [rsi]
cmp edi, 2
jne 0x423d9b
lea rsi, [rsp + 0xc8]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x78], rax
mov rbx, qword [rsi + 0x10]
mov r14, qword [rsi + 0x18]
lea rdx, [rsp + 0x2d0]
mov rcx, rsi
call fcn.0043fb6a
mov edi, dword [rsi]
cmp edi, 2
jne 0x423d9b
lea rdi, [rsp + 0xc8]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x90], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x98], rax
mov rbp, qword [rdi + 0x18]
lea rdx, [rsp + 0x2d0]
mov rcx, rdi
call fcn.0043fb6a
mov edi, dword [rdi]
cmp edi, 2
jne 0x423d9b
lea r12, [rsp + 0xc8]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x2d0]
mov rcx, r12
call fcn.0043fb6a
mov edi, dword [r12]
cmp edi, 2
jne 0x423d9b
lea r12, [rsp + 0xc8]
mov rax, qword [r12 + 8]
mov qword [rsp + 0xc0], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x370], rax
lea rdx, [rsp + 0x2d0]
mov rcx, r12
call fcn.0043fb6a
mov edi, dword [r12]
cmp edi, 2
jne 0x423d9b
lea r12, [rsp + 0xc8]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x368], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x360], rax
lea rdx, [rsp + 0x2d0]
mov rcx, r12
call fcn.0043fb6a
mov edi, dword [r12]
cmp edi, 2
jne 0x423d9b
lea r12, [rsp + 0xc8]
lea rdx, [rsp + 0x2d0]
mov rcx, r12
call fcn.0043fb6a
mov edi, dword [r12]
cmp edi, 2
jne 0x423d9b
lea r12, [rsp + 0xc8]
lea rdx, [rsp + 0x2d0]
mov rcx, r12
call fcn.0043fb6a
mov edi, dword [r12]
cmp edi, 2
jne 0x423d9b
mov esi, dword [rsp + 0x2dc]
cmp dword [rsp + 0x2d8], esi
jbe 0x423e01
mov rax, qword [rsp + 0x2d0]
cmp byte [rax + 0x1c], 0
jne 0x423e01
mov ecx, dword [rax + 0x18]
cmp qword [rax + 8], rcx
jbe 0x423e01
mov rax, qword [rax]
mov dl, byte [rax + rcx]
lea r12, [rsp + 0xc8]
mov rcx, r12
call fcn.0042ccd6
mov r12d, dword [r12]
cmp r12d, 2
jne 0x423f25
cmp byte [rsp + 0xcc], 9
jne 0x423e01
lea r12, [rsp + 0xc8]
lea rdi, [rsp + 0x2d0]
mov rcx, r12
mov rdx, rdi
call fcn.00448682
mov r12d, dword [r12]
cmp r12d, 2
jne 0x424066
mov rsi, qword [rsp + 0xcc]
and r13, rsi
movabs rax, 0x900000000
cmp r13, rax
jne 0x424409
mov eax, dword [rsp + 0x2d8]
xor ecx, ecx
sub eax, dword [rsp + 0x2dc]
cmovb eax, ecx
cmp eax, esi
jae 0x424578
mov rcx, qword [rsp + 0x2d0]
mov r13d, dword [rcx + 0x18]
mov ecx, r13d
add ecx, esi
setb dl
xor r12d, r12d
mov r8d, 0xa
mov qword [rsp + 0x30], r8
cmp ecx, 0xfffffff
ja 0x4254b7
test dl, dl
jne 0x4254b7
add eax, r13d
setb dl
cmp eax, 0xfffffff
ja 0x42569a
test dl, dl
jne 0x42569a
shl rcx, 0x20
or rcx, 3
mov r12d, 1
mov qword [rsp + 0x30], rcx
jmp 0x42569d
mov r14d, 0x115
jmp 0x423d91
mov r15b, byte [rcx + 1]
test r15b, r15b
js 0x423dea
xor eax, eax
xor r13d, r13d
jmp 0x4239e2
mov r13d, dword [rsp + 0xcc]
mov r14, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xf8]
mov r14d, 0x106
jmp 0x423d93
lea rax, [r9 - 1]
jmp 0x423a88
mov r14d, 0x115
xor r13d, r13d
jmp 0x4239e2
test r15b, r15b
je 0x423e23
mov rax, qword [rsp + 0x2d0]
mov byte [rax + 0x1c], 1
mov r13d, dword [rax + 0x18]
mov edi, 1
mov r14d, 0x115
jmp 0x423dd3
xor eax, eax
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0xce]
shl eax, 0x10
movzx r13d, word [rsp + 0xcc]
or r13d, eax
mov al, byte [rsp + 0xcf]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x40], rcx
jmp 0x425a66
mov r13d, dword [rsp + 0xcc]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rax
jmp 0x425a59
movabs rax, 0xffffff00000000
and rsi, rax
or rsi, 0x911
xor r12d, r12d
mov qword [rsp + 0x30], rsi
xor r13d, r13d
jmp 0x425a59
mov eax, esi
lea rcx, [rsp + 0x380]
mov qword [rcx], rdi
mov qword [rcx + 8], rax
lea rax, [rsp + 0x320]
mov qword [rax], 8
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov eax, 8
mov qword [rsp + 0x30], rax
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 0
cmp esi, r13d
jbe 0x425721
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x380]
call fcn.00448628
cmp dword [rsp + 0xc8], 2
jne 0x4245f9
mov dl, byte [rsp + 0xcc]
lea rcx, [rsp + 0x450]
call fcn.0042ccd6
jmp 0x424639
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x480], rax
movups xmm0, xmmword [rsp + 0xc8]
movups xmm1, xmmword [rsp + 0xd8]
movups xmm2, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x470], xmm2
movaps xmmword [rsp + 0x460], xmm1
movaps xmmword [rsp + 0x450], xmm0
mov r12d, dword [rsp + 0x450]
movzx esi, byte [rsp + 0x454]
movzx eax, word [rsp + 0x455]
mov qword [rsp + 0x38], rax
cmp r12d, 2
jne 0x425733
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x380]
call fcn.00448628
mov edx, dword [rsp + 0xc8]
mov r12b, byte [rsp + 0xcc]
cmp edx, 2
jne 0x4257a0
movzx r13d, r12b
test r13b, r13b
js 0x4246a6
mov byte [rsp + 0xb0], r12b
mov edi, r13d
jmp 0x42477d
xor edx, edx
mov byte [rsp + 0x58], 0xb
cmp r12b, 0x80
je 0x42593b
cmp r12b, 0x85
jae 0x42593b
xor r13, 0x80
je 0x42593b
xor edi, edi
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x380]
call fcn.00448628
mov edx, dword [rsp + 0xc8]
cmp edx, 2
jne 0x4254bf
mov eax, edi
shl eax, 8
movzx edi, byte [rsp + 0xcc]
or edi, eax
dec r13
jne 0x4246d0
cmp edi, 0xfffffff
ja 0x425948
mov ecx, edi
and ecx, 0xfffff80
mov al, 0x81
cmp ecx, 0x80
je 0x42475d
lea ecx, [rdi - 0x100]
mov al, 0x82
cmp ecx, 0xff00
jb 0x42475d
lea ecx, [rdi - 0x10000]
mov al, 0x83
cmp ecx, 0xff0000
jb 0x42475d
mov ecx, edi
or ecx, 0xf0000000
mov al, 0x84
cmp ecx, 0xf1000000
jb 0x425939
cmp al, r12b
jne 0x425939
movzx r13d, dil
mov eax, edi
mov byte [rsp + 0xb0], dil
mov eax, edi
mov dword [rsp + 0x37c], edi
cmp esi, 9
jne 0x4257c9
mov eax, edi
and eax, 0xffffff00
or eax, r13d
mov ecx, dword [rsp + 0x388]
sub ecx, dword [rsp + 0x38c]
mov edx, 0
cmovb ecx, edx
cmp ecx, eax
jb 0x425803
mov eax, eax
lea rcx, [rsp + 0x380]
mov qword [rsp + 0x450], rcx
mov qword [rsp + 0x458], rax
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x450]
call fcn.0043f49f
mov r12d, dword [rsp + 0xc8]
cmp r12d, 2
jne 0x4256a9
mov rsi, qword [rsp + 0xd0]
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x2b0], eax
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x450]
call fcn.0043f49f
mov r12d, dword [rsp + 0xc8]
cmp r12d, 2
jne 0x425860
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x450]
call fcn.0043f49f
mov r12d, dword [rsp + 0xc8]
cmp r12d, 2
jne 0x4256a9
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xd8]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xdc]
mov qword [rsp + 0xa0], rax
test rsi, rsi
je 0x4258d9
mov eax, dword [rsp + 0x458]
mov r13d, dword [rsp + 0x45c]
cmp eax, r13d
ja 0x4258f4
mov r12, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0x328]
jne 0x424924
lea rcx, [rsp + 0x320]
mov rdx, qword [rsp + 0x50]
call fcn.0043f3ce
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x50], rax
mov r8, qword [rsp + 0x38]
mov eax, r8d
shl eax, 8
or eax, 9
movzx eax, ax
shl r8d, 8
and r8d, 0xff0000
or r8d, eax
mov r9, qword [rsp + 0xa0]
shl r9, 0x20
add r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
lea rax, [rax + rax*8]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + rax*8], rsi
mov edx, dword [rsp + 0x2b0]
mov dword [rcx + rax*8 + 8], edx
mov edx, dword [rsp + 0x48]
mov dword [rcx + rax*8 + 0xc], edx
mov rdx, qword [rsp + 0x58]
mov qword [rcx + rax*8 + 0x10], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rcx + rax*8 + 0x18], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rcx + rax*8 + 0x20], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rcx + rax*8 + 0x28], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rcx + rax*8 + 0x30], rdx
shr edi, 8
mov qword [rcx + rax*8 + 0x38], r9
mov qword [rcx + rax*8 + 0x40], r12
mov rcx, qword [rsp + 0x330]
inc rcx
mov rax, rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x330], rcx
mov esi, dword [rsp + 0x388]
mov r13d, dword [rsp + 0x38c]
mov eax, r8d
mov dword [rsp + 0x40], r8d
mov eax, edi
mov dword [rsp + 0x48], edi
jmp 0x4245bb
mov r13d, ecx
jmp 0x42569d
mov r12b, byte [rsp + 0xcc]
mov al, byte [rsp + 0xd0]
mov byte [rsp + 0x58], al
movzx eax, byte [rsp + 0xcf]
shl eax, 0x10
movzx ecx, word [rsp + 0xcd]
or ecx, eax
mov dword [rsp + 0x48], ecx
mov r9b, byte [rsp + 0xd1]
movzx r10d, word [rsp + 0xd2]
mov ecx, dword [rsp + 0xd4]
mov rax, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
mov qword [rsp + 0x50], r8
mov r8, qword [rsp + 0xe8]
mov qword [rsp + 0x68], r8
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x60], r8
mov r8, qword [rsp + 0xf8]
mov r11d, dword [rsp + 0x48]
shl r11d, 8
movzx r13d, r12b
or r13d, r11d
xor r12d, r12d
mov dil, byte [rsp + 0x58]
cmp dil, 0xb
movzx r11d, r9b
cmove r11d, esi
mov rsi, qword [rsp + 0x38]
cmovne esi, r10d
movzx r10d, dil
mov r9d, 5
cmovne r9d, r10d
cmovne r12d, edx
movzx r10d, si
shl r10d, 8
movzx edx, r11b
or edx, r10d
shl edx, 8
movzx r10d, r9b
or r10d, edx
shl rcx, 0x20
movabs rdx, 0xffffffff00000000
mov r9, rax
and r9, rdx
and rdx, r8
or r10, rcx
mov qword [rsp + 0x30], r10
mov eax, eax
or rax, r9
mov qword [rsp + 0x38], rax
mov eax, r8d
or rax, rdx
mov qword [rsp + 0x40], rax
jmp 0x4259dc
mov r13d, eax
mov eax, eax
mov qword [rsp + 0x38], rax
jmp 0x425a59
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xd8]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0xdc]
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xa8], rcx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rcx
mov ecx, dword [rsp + 0xf8]
mov qword [rsp + 0x40], rcx
mov ecx, dword [rsp + 0xfc]
mov qword [rsp + 0xa0], rcx
jmp 0x425990
mov rax, qword [rsp + 0x328]
mov qword [rsp + 0x38], rax
jmp 0x425a12
movzx r10d, byte [rsp + 0x457]
shl r10d, 0x18
mov r9d, dword [rsp + 0x458]
mov ecx, dword [rsp + 0x45c]
mov edx, r9d
shr edx, 8
mov rax, qword [rsp + 0x460]
mov r8, qword [rsp + 0x468]
mov qword [rsp + 0x50], r8
mov r8, qword [rsp + 0x470]
mov qword [rsp + 0x68], r8
mov r8, qword [rsp + 0x478]
mov qword [rsp + 0x60], r8
mov r8, qword [rsp + 0x480]
mov r13, qword [rsp + 0x38]
shl r13d, 8
or r13d, esi
or r13d, r10d
jmp 0x425588
movzx eax, byte [rsp + 0xcf]
shl eax, 0x10
movzx ecx, word [rsp + 0xcd]
or ecx, eax
mov dword [rsp + 0x48], ecx
mov al, byte [rsp + 0xd0]
mov byte [rsp + 0x58], al
jmp 0x4254eb
mov rax, qword [rsp + 0x38]
shl rax, 0x28
shl rsi, 0x20
add rax, rsi
add rax, 0x911
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x40]
and ecx, 0xffffff
xor r12d, r12d
xor r8d, r8d
xor edx, edx
xor eax, eax
xor r9d, r9d
mov r13d, ecx
jmp 0x4255b1
mov rdx, qword [rsp + 0x380]
mov rdx, qword [rdx]
mov edx, dword [rdx + 0x18]
mov dword [rsp + 0x48], edx
add eax, edx
jb 0x42591f
cmp eax, 0xfffffff
ja 0x42591f
add ecx, dword [rsp + 0x48]
jb 0x425964
cmp ecx, 0x10000000
jae 0x425964
shl rax, 0x20
mov ecx, ecx
mov qword [rsp + 0x80], rcx
or rax, 3
mov r12d, 1
mov qword [rsp + 0x58], rax
jmp 0x42597f
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xf8]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xfc]
mov qword [rsp + 0xa0], rax
mov rax, rcx
mov qword [rsp + 0x80], rcx
shr rax, 0x20
jmp 0x425990
mov rax, qword [rsp + 0x80]
shr rax, 0x20
mov ecx, dword [rsp + 0x2b0]
mov r12d, ecx
jmp 0x425990
mov rcx, rax
xor eax, eax
sub ecx, r13d
cmovb ecx, eax
mov qword [rsp + 0x38], rcx
mov rax, r13
shl rax, 0x20
or rax, 0x13
mov qword [rsp + 0x30], rax
mov r12d, 1
jmp 0x4259cf
xor ecx, ecx
mov qword [rsp + 0x80], rcx
mov ecx, 0xa
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x48], eax
jmp 0x42597c
xor edx, edx
mov r12b, byte [rsp + 0xb0]
jmp 0x42553a
mov ecx, dword [rsp + 0x37c]
mov eax, ecx
shr eax, 8
mov dword [rsp + 0x48], eax
xor edx, edx
mov byte [rsp + 0x58], 0xa
mov r12d, ecx
jmp 0x425943
xor eax, eax
mov qword [rsp + 0x80], rax
mov eax, 0xa
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x48], ecx
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x40], rax
xor eax, eax
shl rax, 0x20
mov ecx, dword [rsp + 0x80]
or rcx, rax
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xa0]
shl rcx, 0x20
mov rax, qword [rsp + 0x40]
mov eax, eax
or rax, rcx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x48]
mov r13d, eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x328], 0
je 0x4259fd
mov r8, qword [rsp + 0x320]
mov rcx, qword [0x0049f0e8]
xor edx, edx
call fcn.00480424
cmp r12d, 2
jne 0x425a59
mov esi, dword [rsp + 0x388]
mov r13d, dword [rsp + 0x38c]
cmp esi, r13d
jbe case.0x41c81f.77
xor eax, eax
sub esi, r13d
cmovb esi, eax
mov rdi, r13
shl rdi, 0x20
or rdi, 0x13
cmp qword [rsp + 0x38], 0
je 0x425a49
mov rcx, qword [0x0049f0e8]
xor edx, edx
mov r8, qword [rsp + 0x30]
call fcn.00480424
mov r12d, 1
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov eax, r13d
shr eax, 0x18
mov esi, dword [rsp + 0x2dc]
movzx eax, al
shl eax, 0x18
and r13d, 0xffffff
or r13d, eax
test r12d, r12d
cmove r13d, r12d
cmove ebp, esp