Function at 0x410440
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rbx, r8
mov rsi, rdx
mov qword [rsp + 0x68], rcx
call fcn.00412510
mov qword [rbx + 0x200180], rax
lea rax, [rbx + 0x200000]
mov r9d, 0xc8
mov rcx, rsi
mov edx, 0x4c
mov r8, rax
mov r15, rax
mov qword [rsp + 0x40], rax
call fcn.00407ef0
lea rax, [rbx + 0x200040]
mov rdx, r15
mov r8d, 0x20
lea r15, [0x004668c0]
mov rdi, rax
mov qword [rsp + 0x58], rax
lea rax, [rbx + 0x2000d0]
mov rsi, rax
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x200040]
mov qword [rbx + 0x2000d0], rax
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rsi + 0x18], rax
mov rax, qword [rdi + 0x20]
mov qword [rsi + 0x20], rax
mov rax, qword [rdi + 0x28]
mov qword [rsi + 0x28], rax
mov rax, qword [rdi + 0x30]
mov qword [rsi + 0x30], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [rdi + 0x40]
mov qword [rsi + 0x40], rax
mov rax, qword [rdi + 0x48]
mov qword [rsi + 0x48], rax
mov rax, qword [rdi + 0x50]
mov qword [rsi + 0x50], rax
mov rax, qword [rdi + 0x58]
mov qword [rsi + 0x58], rax
mov rax, qword [rdi + 0x60]
mov qword [rsi + 0x60], rax
mov rax, qword [rdi + 0x68]
mov qword [rsi + 0x68], rax
mov rax, qword [rdi + 0x70]
mov qword [rsi + 0x70], rax
mov rax, qword [rdi + 0x78]
lea rdi, [0x004660c0]
mov qword [rsi + 0x78], rax
mov rcx, qword [rbx + 0x200180]
lea rsi, [0x004664c0]
call fcn.00412370
lea r9, [0x00466cc0]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], rbx
nop dword [rax + rax]
mov rax, qword [rbx + 0x200180]
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
movzx r14d, byte [rbx + 0x2000d0]
movzx r10d, byte [rbx + 0x2000d1]
movzx ebp, byte [rbx + 0x2000d2]
movzx r13d, byte [rbx + 0x2000d3]
shl rcx, 4
movzx r12d, byte [rbx + 0x2000d7]
movzx r8d, byte [rbx + 0x2000db]
mov r11, rcx
add r11, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x2000d5]
mov qword [rsp + 0x28], rcx
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r11
movzx r14d, byte [rbx + 0x2000da]
movzx r11d, byte [rbx + 0x2000d6]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x2000df]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x2000d0], edx
movzx edx, byte [rbx + 0x2000d4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x2000d9]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x2000de]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x2000d4], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x2000d8]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x2000dd]
movzx r14d, byte [rbx + 0x2000e0]
movzx r13d, byte [rbx + 0x2000e3]
movzx r12d, byte [rbx + 0x2000e7]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x2000e2]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x2000d8], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
mov r10, qword [rsp + 0x28]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x2000dc]
movzx r11d, byte [rbx + 0x2000e6]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x2000eb]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x2000dc], edx
mov rdx, qword [rax]
add r10, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x2000e5]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r10
movzx r14d, byte [rbx + 0x2000ea]
movzx r10d, byte [rbx + 0x2000e1]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x2000ef]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x2000e0], edx
movzx edx, byte [rbx + 0x2000e4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x2000e9]
movzx r14d, byte [rbx + 0x2000f0]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x2000ee]
xor edx, dword [rsi + r13*4]
movzx r13d, byte [rbx + 0x2000f3]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x2000e4], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x2000e8]
movzx r12d, byte [rbx + 0x2000f7]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x2000ed]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x2000f2]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x2000e8], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
movzx r11d, byte [rbx + 0x2000f6]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x2000ec]
movzx r10d, byte [rbx + 0x2000f1]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x2000fb]
xor edx, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x28]
mov dword [rbx + 0x2000ec], edx
mov rdx, qword [rax]
add rcx, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x2000f5]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x2000fa]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x2000ff]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x2000f0], edx
movzx edx, byte [rbx + 0x2000f4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x2000f9]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x2000fe]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x2000f4], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x2000f8]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x2000fd]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x2000f8], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
mov r11, qword [rsp + 0x28]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x2000fc]
xor edx, dword [r9 + r8*4]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x2000fc], edx
mov rdx, qword [rax]
add r11, qword [rdx + 0x18]
movzx r14d, byte [rbx + 0x200100]
movzx edx, byte [rbx + 0x200105]
movzx r10d, byte [rbx + 0x200101]
movzx ebp, byte [rbx + 0x200102]
movzx r13d, byte [rbx + 0x200103]
movzx r12d, byte [rbx + 0x200107]
movzx r8d, byte [rbx + 0x20010b]
mov rcx, r11
movzx r11d, byte [rbx + 0x200106]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x20010a]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20010f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200100], edx
movzx edx, byte [rbx + 0x200104]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200109]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20010e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200104], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200108]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20010d]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200108], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
movzx r14d, byte [rbx + 0x200110]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20010c]
mov r10, qword [rsp + 0x28]
movzx ebp, byte [rbx + 0x200112]
movzx r13d, byte [rbx + 0x200113]
movzx r11d, byte [rbx + 0x200116]
movzx r12d, byte [rbx + 0x200117]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x20011b]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x20010c], edx
mov rdx, qword [rax]
add r10, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x200115]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r10
movzx r14d, byte [rbx + 0x20011a]
movzx r10d, byte [rbx + 0x200111]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20011f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200110], edx
movzx edx, byte [rbx + 0x200114]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200119]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20011e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
movzx r14d, byte [rbx + 0x200120]
movzx r13d, byte [rbx + 0x200123]
mov dword [rbx + 0x200114], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200118]
movzx r12d, byte [rbx + 0x200127]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20011d]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x200122]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200118], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
movzx r11d, byte [rbx + 0x200126]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20011c]
movzx r10d, byte [rbx + 0x200121]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x20012b]
xor edx, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x28]
mov dword [rbx + 0x20011c], edx
mov rdx, qword [rax]
add rcx, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x200125]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x20012a]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20012f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200120], edx
movzx edx, byte [rbx + 0x200124]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200129]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20012e]
xor edx, dword [rsi + r13*4]
movzx r13d, byte [rbx + 0x200133]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200124], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200128]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20012d]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x200132]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200128], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
mov r11, qword [rsp + 0x28]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20012c]
movzx r10d, byte [rbx + 0x200131]
xor edx, dword [r9 + r8*4]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x20012c], edx
mov rdx, qword [rax]
add r11, qword [rdx + 0x18]
mov rcx, r11
movzx r11d, byte [rbx + 0x200136]
movzx r14d, byte [rbx + 0x200130]
movzx edx, byte [rbx + 0x200135]
movzx r12d, byte [rbx + 0x200137]
movzx r8d, byte [rbx + 0x20013b]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x20013a]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20013f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200130], edx
movzx edx, byte [rbx + 0x200134]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200139]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20013e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200134], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200138]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20013d]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200138], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20013c]
movzx r14d, byte [rbx + 0x200140]
mov r11, qword [rsp + 0x28]
movzx r13d, byte [rbx + 0x200143]
movzx r10d, byte [rbx + 0x200141]
movzx ebp, byte [rbx + 0x200142]
movzx r12d, byte [rbx + 0x200147]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x20014b]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x20013c], edx
mov rdx, qword [rax]
add r11, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x200145]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r11
movzx r14d, byte [rbx + 0x20014a]
movzx r11d, byte [rbx + 0x200146]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20014f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200140], edx
movzx edx, byte [rbx + 0x200144]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200149]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20014e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200144], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200148]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20014d]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
add qword [rsp + 0x30], 1
mov dword [rbx + 0x200148], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20014c]
xor edx, dword [r9 + r8*4]
xor edx, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x30]
cmp rcx, 0xa
mov dword [rbx + 0x20014c], edx
jne 0x410580
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rdx]
sub rcx, 0xffffffffffffff80
mov qword [rcx - 0x80], rax
mov rax, qword [rdx + 8]
mov qword [rcx - 0x78], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx - 0x70], rax
mov rax, qword [rdx + 0x18]
mov qword [rcx - 0x68], rax
mov rax, qword [rdx + 0x20]
mov qword [rcx - 0x60], rax
mov rax, qword [rdx + 0x28]
mov qword [rcx - 0x58], rax
mov rax, qword [rdx + 0x30]
mov qword [rcx - 0x50], rax
mov rax, qword [rdx + 0x38]
mov qword [rcx - 0x48], rax
mov rax, qword [rdx + 0x40]
mov qword [rcx - 0x40], rax
mov rax, qword [rdx + 0x48]
mov qword [rcx - 0x38], rax
mov rax, qword [rdx + 0x50]
mov qword [rcx - 0x30], rax
mov rax, qword [rdx + 0x58]
mov qword [rcx - 0x28], rax
mov rax, qword [rdx + 0x60]
mov qword [rcx - 0x20], rax
mov rax, qword [rdx + 0x68]
mov qword [rcx - 0x18], rax
mov rax, qword [rdx + 0x70]
mov qword [rcx - 0x10], rax
mov rax, qword [rdx + 0x78]
mov qword [rcx - 8], rax
cmp rcx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rcx
jne 0x410570
lea rax, [rbx + 0x200020]
mov r11, qword [rsp + 0x40]
lea r10, [rbx + 0x200150]
lea r14, [rbx + 0x200160]
lea r8, [rbx + 0x200010]
lea rcx, [rbx + 0x200030]
mov rbp, rax
mov qword [rsp + 0x60], rax
xor eax, eax
nop word [rax + rax]
mov rdx, qword [rbp + rax*8]
xor rdx, qword [r11 + rax*8]
mov qword [r10 + rax*8], rdx
mov rdx, qword [rcx + rax*8]
xor rdx, qword [r8 + rax*8]
cmp rax, 1
mov qword [r14 + rax*8], rdx
jne 0x411b10
lea rax, [rbx + 0x200170]
mov qword [rsp + 0x48], 0x40000
mov qword [rsp + 0x28], rax
nop dword [rax + rax]
mov rdx, qword [rbx + 0x200150]
and edx, 0x1ffff0
lea r8, [rbx + rdx]
movzx edx, byte [rbx + rdx]
movzx ecx, byte [r8 + 5]
movzx eax, byte [r8 + 0xa]
mov eax, dword [rsi + rax*4]
xor eax, dword [r15 + rcx*4]
movzx ecx, byte [r8 + 0xf]
xor eax, dword [rdi + rcx*4]
xor eax, dword [rbx + 0x200150]
xor eax, dword [r9 + rdx*4]
mov dword [rbx + 0x200170], eax
movzx edx, byte [r8 + 3]
movzx eax, byte [r8 + 4]
mov eax, dword [r9 + rax*4]
xor eax, dword [rdi + rdx*4]
movzx edx, byte [r8 + 9]
xor eax, dword [r15 + rdx*4]
movzx edx, byte [r8 + 0xe]
xor eax, dword [rsi + rdx*4]
xor eax, dword [rbx + 0x200154]
mov dword [rbx + 0x200174], eax
movzx edx, byte [r8 + 2]
movzx eax, byte [r8 + 7]
mov eax, dword [rdi + rax*4]
xor eax, dword [rsi + rdx*4]
movzx edx, byte [r8 + 8]
xor eax, dword [r9 + rdx*4]
movzx edx, byte [r8 + 0xd]
xor eax, dword [r15 + rdx*4]
xor eax, dword [rbx + 0x200158]
mov dword [rbx + 0x200178], eax
movzx edx, byte [r8 + 1]
movzx eax, byte [r8 + 6]
mov eax, dword [rsi + rax*4]
xor eax, dword [r15 + rdx*4]
movzx edx, byte [r8 + 0xb]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], r9
xor eax, dword [rdi + rdx*4]
movzx edx, byte [r8 + 0xc]
xor eax, dword [r9 + rdx*4]
mov rdx, r14
xor eax, dword [rbx + 0x20015c]
mov dword [rbx + 0x20017c], eax
call fcn.00407b70
mov rax, qword [rbx + 0x200170]
mov r9, qword [rsp + 0x30]
mov rcx, rax
mov r13, rax
mov eax, eax
and ecx, 0x1ffff0
shr r13, 0x20
mov rdx, rcx
mov r12, r13
add rdx, rbx
mov r8, qword [rdx]
mov rcx, r8
mov r10d, r8d
shr rcx, 0x20
imul r12, r10
imul r10, rax
imul rax, rcx
imul rcx, r13
add rax, r12
add rcx, qword [rbx + 0x200150]
mov r11, rax
mov r13, rax
shl r11, 0x20
shr r13, 0x20
add r11, r10
mov rbp, r11
add rbp, qword [rbx + 0x200158]
add rcx, r13
xor r13d, r13d
cmp r12, rax
seta r13b
shl r13, 0x20
add rcx, r13
xor r13d, r13d
cmp r10, r11
seta r13b
mov rax, rbp
add rcx, r13
xor r8, rcx
mov qword [rbx + 0x200150], r8
xor rax, qword [rdx + 8]
mov qword [rbx + 0x200158], rax
mov qword [rdx + 8], rbp
mov qword [rdx], rcx
mov rax, qword [rbx + 0x200150]
and eax, 0x1ffff0
lea r8, [rbx + rax]
mov rdx, rax
movzx edx, byte [rbx + rdx]
movzx ecx, byte [r8 + 5]
movzx eax, byte [r8 + 0xa]
mov eax, dword [rsi + rax*4]
xor eax, dword [r15 + rcx*4]
movzx ecx, byte [r8 + 0xf]
xor eax, dword [rdi + rcx*4]
mov rcx, r14
xor eax, dword [rbx + 0x200150]
xor eax, dword [r9 + rdx*4]
mov dword [rbx + 0x200160], eax
movzx edx, byte [r8 + 3]
movzx eax, byte [r8 + 4]
mov eax, dword [r9 + rax*4]
xor eax, dword [rdi + rdx*4]
movzx edx, byte [r8 + 9]
xor eax, dword [r15 + rdx*4]
movzx edx, byte [r8 + 0xe]
xor eax, dword [rsi + rdx*4]
xor eax, dword [rbx + 0x200154]
mov dword [rbx + 0x200164], eax
movzx edx, byte [r8 + 2]
movzx eax, byte [r8 + 7]
mov eax, dword [rdi + rax*4]
xor eax, dword [rsi + rdx*4]
movzx edx, byte [r8 + 8]
xor eax, dword [r9 + rdx*4]
movzx edx, byte [r8 + 0xd]
xor eax, dword [r15 + rdx*4]
xor eax, dword [rbx + 0x200158]
mov dword [rbx + 0x200168], eax
movzx edx, byte [r8 + 1]
movzx eax, byte [r8 + 6]
mov eax, dword [rsi + rax*4]
xor eax, dword [r15 + rdx*4]
movzx edx, byte [r8 + 0xb]
xor eax, dword [rdi + rdx*4]
movzx edx, byte [r8 + 0xc]
xor eax, dword [r9 + rdx*4]
mov rdx, qword [rsp + 0x28]
xor eax, dword [rbx + 0x20015c]
mov dword [rbx + 0x20016c], eax
call fcn.00407b70
mov rax, qword [rbx + 0x200160]
mov r9, qword [rsp + 0x30]
mov r8, rax
mov r13, rax
mov eax, eax
and r8d, 0x1ffff0
shr r13, 0x20
add r8, rbx
mov r12, r13
mov rcx, qword [r8]
mov rdx, rcx
mov r10d, ecx
shr rdx, 0x20
imul r12, r10
imul r10, rax
imul rax, rdx
add rax, r12
mov r11, rax
shl r11, 0x20
add r11, r10
imul rdx, r13
mov rbp, r11
add rbp, qword [rbx + 0x200158]
add rdx, qword [rbx + 0x200150]
mov r13, rax
shr r13, 0x20
add rdx, r13
xor r13d, r13d
cmp r12, rax
seta r13b
mov rax, rbp
shl r13, 0x20
add rdx, r13
xor r13d, r13d
cmp r10, r11
seta r13b
add rdx, r13
xor rcx, rdx
mov qword [rbx + 0x200150], rcx
xor rax, qword [r8 + 8]
sub qword [rsp + 0x48], 1
mov qword [rbx + 0x200158], rax
mov qword [r8], rdx
mov qword [r8 + 8], rbp
jne 0x410e10
mov rax, qword [rbx + 0x200040]
mov rcx, qword [rsp + 0x58]
mov r8d, 0x20
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], r9
mov qword [rbx + 0x2000d0], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rdx + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [rdx + 0x30], rax
mov rax, qword [rcx + 0x38]
mov qword [rdx + 0x38], rax
mov rax, qword [rcx + 0x40]
mov qword [rdx + 0x40], rax
mov rax, qword [rcx + 0x48]
mov qword [rdx + 0x48], rax
mov rax, qword [rcx + 0x50]
mov qword [rdx + 0x50], rax
mov rax, qword [rcx + 0x58]
mov qword [rdx + 0x58], rax
mov rax, qword [rcx + 0x60]
mov qword [rdx + 0x60], rax
mov rax, qword [rcx + 0x68]
mov qword [rdx + 0x68], rax
mov rax, qword [rcx + 0x70]
mov qword [rdx + 0x70], rax
mov rax, qword [rcx + 0x78]
mov qword [rdx + 0x78], rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbx + 0x200180]
call fcn.00412370
mov rax, qword [rbx + 0x200180]
mov r9, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
xor qword [rbx + 0x2000d0], rdx
mov rdx, qword [rcx + 8]
xor qword [rbx + 0x2000d8], rdx
mov rdx, qword [rcx + 0x10]
xor qword [rbx + 0x2000e0], rdx
mov rdx, qword [rcx + 0x18]
xor qword [rbx + 0x2000e8], rdx
mov rdx, qword [rcx + 0x20]
xor qword [rbx + 0x2000f0], rdx
mov rdx, qword [rcx + 0x28]
xor qword [rbx + 0x2000f8], rdx
mov rdx, qword [rcx + 0x30]
xor qword [rbx + 0x200100], rdx
mov rdx, qword [rcx + 0x38]
xor qword [rbx + 0x200108], rdx
mov rdx, qword [rcx + 0x40]
xor qword [rbx + 0x200110], rdx
mov rdx, qword [rcx + 0x48]
xor qword [rbx + 0x200118], rdx
mov rdx, qword [rcx + 0x50]
xor qword [rbx + 0x200120], rdx
mov rdx, qword [rcx + 0x58]
xor qword [rbx + 0x200128], rdx
mov rdx, qword [rcx + 0x60]
xor qword [rbx + 0x200130], rdx
mov rdx, qword [rcx + 0x68]
xor qword [rbx + 0x200138], rdx
mov rdx, qword [rcx + 0x70]
xor qword [rbx + 0x200140], rdx
mov rdx, qword [rcx + 0x78]
xor qword [rbx + 0x200148], rdx
mov qword [rsp + 0x30], 0
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
movzx r14d, byte [rbx + 0x2000d0]
movzx ebp, byte [rbx + 0x2000d2]
shl rcx, 4
movzx r13d, byte [rbx + 0x2000d3]
movzx r12d, byte [rbx + 0x2000d7]
mov r10, rcx
add r10, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x2000d5]
mov qword [rsp + 0x28], rcx
movzx r11d, byte [rbx + 0x2000d6]
movzx r8d, byte [rbx + 0x2000db]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r10
movzx r14d, byte [rbx + 0x2000da]
movzx r10d, byte [rbx + 0x2000d1]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x2000df]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x2000d0], edx
movzx edx, byte [rbx + 0x2000d4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x2000d9]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x2000de]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x2000d4], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x2000d8]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x2000dd]
movzx r14d, byte [rbx + 0x2000e0]
movzx r13d, byte [rbx + 0x2000e3]
movzx r12d, byte [rbx + 0x2000e7]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x2000e2]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x2000d8], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
mov r11, qword [rsp + 0x28]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x2000dc]
movzx r10d, byte [rbx + 0x2000e1]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x2000eb]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x2000dc], edx
mov rdx, qword [rax]
add r11, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x2000e5]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r11
movzx r14d, byte [rbx + 0x2000ea]
movzx r11d, byte [rbx + 0x2000e6]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x2000ef]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x2000e0], edx
movzx edx, byte [rbx + 0x2000e4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x2000e9]
movzx r14d, byte [rbx + 0x2000f0]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x2000ee]
xor edx, dword [rsi + r13*4]
movzx r13d, byte [rbx + 0x2000f3]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x2000e4], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x2000e8]
movzx r12d, byte [rbx + 0x2000f7]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x2000ed]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x2000f2]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x2000e8], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
movzx r11d, byte [rbx + 0x2000f6]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x2000ec]
movzx r10d, byte [rbx + 0x2000f1]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x2000fb]
xor edx, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x28]
mov dword [rbx + 0x2000ec], edx
mov rdx, qword [rax]
add rcx, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x2000f5]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x2000fa]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x2000ff]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x2000f0], edx
movzx edx, byte [rbx + 0x2000f4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x2000f9]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x2000fe]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x2000f4], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x2000f8]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x2000fd]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x2000f8], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
mov r10, qword [rsp + 0x28]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x2000fc]
xor edx, dword [r9 + r8*4]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x2000fc], edx
mov rdx, qword [rax]
add r10, qword [rdx + 0x18]
movzx r14d, byte [rbx + 0x200100]
movzx edx, byte [rbx + 0x200105]
movzx ebp, byte [rbx + 0x200102]
movzx r13d, byte [rbx + 0x200103]
movzx r12d, byte [rbx + 0x200107]
movzx r11d, byte [rbx + 0x200106]
movzx r8d, byte [rbx + 0x20010b]
mov rcx, r10
movzx r10d, byte [rbx + 0x200101]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x20010a]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20010f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200100], edx
movzx edx, byte [rbx + 0x200104]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200109]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20010e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200104], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200108]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20010d]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200108], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
movzx r14d, byte [rbx + 0x200110]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20010c]
mov r11, qword [rsp + 0x28]
movzx r10d, byte [rbx + 0x200111]
movzx ebp, byte [rbx + 0x200112]
movzx r13d, byte [rbx + 0x200113]
movzx r12d, byte [rbx + 0x200117]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x20011b]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x20010c], edx
mov rdx, qword [rax]
add r11, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x200115]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r11
movzx r14d, byte [rbx + 0x20011a]
movzx r11d, byte [rbx + 0x200116]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20011f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200110], edx
movzx edx, byte [rbx + 0x200114]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200119]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20011e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
movzx r14d, byte [rbx + 0x200120]
movzx r13d, byte [rbx + 0x200123]
mov dword [rbx + 0x200114], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200118]
movzx r12d, byte [rbx + 0x200127]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20011d]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x200122]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200118], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
movzx r11d, byte [rbx + 0x200126]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20011c]
movzx r10d, byte [rbx + 0x200121]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x20012b]
xor edx, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x28]
mov dword [rbx + 0x20011c], edx
mov rdx, qword [rax]
add rcx, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x200125]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x20012a]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20012f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200120], edx
movzx edx, byte [rbx + 0x200124]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200129]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20012e]
xor edx, dword [rsi + r13*4]
movzx r13d, byte [rbx + 0x200133]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200124], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200128]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20012d]
xor edx, dword [r15 + rbp*4]
movzx ebp, byte [rbx + 0x200132]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200128], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
mov r10, qword [rsp + 0x28]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20012c]
xor edx, dword [r9 + r8*4]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x20012c], edx
mov rdx, qword [rax]
add r10, qword [rdx + 0x18]
mov rcx, r10
movzx r10d, byte [rbx + 0x200131]
movzx r11d, byte [rbx + 0x200136]
movzx r14d, byte [rbx + 0x200130]
movzx edx, byte [rbx + 0x200135]
movzx r12d, byte [rbx + 0x200137]
movzx r8d, byte [rbx + 0x20013b]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
movzx r14d, byte [rbx + 0x20013a]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20013f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200130], edx
movzx edx, byte [rbx + 0x200134]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200139]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20013e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200134], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200138]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20013d]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
mov dword [rbx + 0x200138], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20013c]
movzx r14d, byte [rbx + 0x200140]
mov r10, qword [rsp + 0x28]
movzx r13d, byte [rbx + 0x200143]
movzx ebp, byte [rbx + 0x200142]
movzx r12d, byte [rbx + 0x200147]
movzx r11d, byte [rbx + 0x200146]
xor edx, dword [r9 + r8*4]
movzx r8d, byte [rbx + 0x20014b]
xor edx, dword [rcx + 0xc]
mov dword [rbx + 0x20013c], edx
mov rdx, qword [rax]
add r10, qword [rdx + 0x18]
movzx edx, byte [rbx + 0x200145]
mov edx, dword [r15 + rdx*4]
xor edx, dword [r9 + r14*4]
mov rcx, r10
movzx r14d, byte [rbx + 0x20014a]
movzx r10d, byte [rbx + 0x200141]
xor edx, dword [rsi + r14*4]
movzx r14d, byte [rbx + 0x20014f]
xor edx, dword [rdi + r14*4]
xor edx, dword [rcx]
mov dword [rbx + 0x200140], edx
movzx edx, byte [rbx + 0x200144]
mov edx, dword [r9 + rdx*4]
xor edx, dword [rdi + r13*4]
movzx r13d, byte [rbx + 0x200149]
xor edx, dword [r15 + r13*4]
movzx r13d, byte [rbx + 0x20014e]
xor edx, dword [rsi + r13*4]
xor edx, dword [rcx + 4]
mov dword [rbx + 0x200144], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rsi + rbp*4]
movzx ebp, byte [rbx + 0x200148]
xor edx, dword [r9 + rbp*4]
movzx ebp, byte [rbx + 0x20014d]
xor edx, dword [r15 + rbp*4]
xor edx, dword [rcx + 8]
add qword [rsp + 0x30], 1
mov dword [rbx + 0x200148], edx
mov edx, dword [rsi + r11*4]
xor edx, dword [r15 + r10*4]
xor edx, dword [rdi + r8*4]
movzx r8d, byte [rbx + 0x20014c]
xor edx, dword [r9 + r8*4]
xor edx, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x30]
cmp rcx, 0xa
mov dword [rbx + 0x20014c], edx
jne 0x4112a0
sub qword [rsp + 0x38], 0xffffffffffffff80
mov rcx, qword [rsp + 0x38]
cmp rcx, qword [rsp + 0x40]
jne 0x4111e0
mov rax, qword [rbx + 0x2000d0]
mov rdi, qword [rsp + 0x50]
mov edx, 0x18
mov rsi, qword [rsp + 0x58]
mov qword [rbx + 0x200040], rax
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rsi + 0x18], rax
mov rax, qword [rdi + 0x20]
mov qword [rsi + 0x20], rax
mov rax, qword [rdi + 0x28]
mov qword [rsi + 0x28], rax
mov rax, qword [rdi + 0x30]
mov qword [rsi + 0x30], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [rdi + 0x40]
mov qword [rsi + 0x40], rax
mov rax, qword [rdi + 0x48]
mov qword [rsi + 0x48], rax
mov rax, qword [rdi + 0x50]
mov qword [rsi + 0x50], rax
mov rax, qword [rdi + 0x58]
mov qword [rsi + 0x58], rax
mov rax, qword [rdi + 0x60]
mov qword [rsi + 0x60], rax
mov rax, qword [rdi + 0x68]
mov qword [rsi + 0x68], rax
mov rax, qword [rdi + 0x70]
mov qword [rsi + 0x70], rax
mov rax, qword [rdi + 0x78]
mov rdi, rcx
mov qword [rsi + 0x78], rax
call fcn.00407ca0
movzx eax, byte [rbx + 0x200000]
mov r9, qword [0x00474e60]
mov rcx, rdi
mov r8, qword [rsp + 0x68]
mov edx, 0xc8
and eax, 3
call qword [r9 + rax*8]
lea rcx, [rbx + 0x200180]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x4123d0
mov eax, 1
jmp 0x410dd0
push rbx
sub rsp, 0x20
mov eax, 2
test rcx, rcx
mov rdx, rcx
je 0x412410
mov rcx, qword [rcx]
test rcx, rcx
je 0x412420
cmp qword [rcx], 0
mov rbx, rdx
je 0x412400
call fcn.00411d80
mov rcx, qword [rbx]
nop dword [rax + rax]
call sub.msvcrt.dll_free
mov qword [rbx], 0
xor eax, eax
nop
add rsp, 0x20
pop rbx
ret
xor eax, eax
jmp 0x412410