Function at 0x43caf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x3b0
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x180], 0
mov qword [rbp + 0x178], 0
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x1b8], 0
mov qword [rbp + 0x188], 0
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1a8], 0
mov qword [rbp + 0x1a0], 0
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov qword [rbp + 0x1f0], 0
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x1e8], 0
mov qword [rbp + 0x1e0], 0
mov qword [rbp + 0x1d8], 0
mov qword [rbp + 0x1c8], 0
mov qword [rbp + 0x1d0], 0
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x1f8], 0
mov qword [rbp + 0x208], 0
mov qword [rbp + 0x200], 0
mov qword [rbp + 0x248], 0
mov qword [rbp + 0x218], 0
mov qword [rbp + 0x240], 0
mov qword [rbp + 0x238], 0
mov qword [rbp + 0x230], 0
mov qword [rbp + 0x220], 0
mov qword [rbp + 0x228], 0
mov qword [rbp + 0x278], 0
mov qword [rbp + 0x270], 0
mov qword [rbp + 0x268], 0
mov qword [rbp + 0x260], 0
mov qword [rbp + 0x250], 0
mov qword [rbp + 0x258], 0
mov qword [rbp + 0x380], 0
mov qword [rbp + 0x388], 0
nop
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov dword [rbp + 0x398], eax
lea rcx, [0x0046d774]
mov edx, 0x9cd
xor r8, r8
call fcn.00405dc0
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43ce7f
lea rcx, [rbp + 0x3a0]
lea rdx, [rbp + 0x3a0]
lea r8, [rbp + 0x39c]
call fcn.0042c390
mov qword [0x0046d774], 0x9cd
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43cec0
lea rcx, [rbp + 0x3a4]
lea rdx, [rbp + 0x3a0]
lea r8, [rbp + 0x39c]
call fcn.0042c390
call fcn.0043c070
mov ecx, 0x10129
call fcn.0043bf00
movsxd rax, eax
mov qword [0x0046d77c], rax
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x24a
mov dword [rbp + 0x398], eax
mov rax, qword [0x0046d774]
mov rcx, qword [0x0046d77c]
lea rax, [rax + rcx]
mov qword [0x0046d784], rax
mov eax, dword [rbp + 0x398]
sub eax, 0x216
mov dword [rbp + 0x39c], eax
lea rcx, [rbp + 0x388]
call fcn.004335f0
lea rcx, [0x0046d851]
mov rdx, qword [rbp + 0x388]
call fcn.0041d410
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x380]
call fcn.00434390
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x380]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d78c]
lea rdx, [rbp + 0x280]
mov r8b, 0x20
call fcn.0040a170
add dword [rbp + 0x39c], 0x1e0
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x260]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x258]
xor edx, edx
call fcn.0041cbb0
lea rcx, [rbp + 0x260]
mov rdx, qword [rbp + 0x258]
call fcn.0040adf0
lea rcx, [rbp + 0x250]
mov rdx, qword [rbp + 0x260]
call fcn.0040ac30
lea rcx, [rbp + 0x268]
mov rdx, qword [rbp + 0x250]
call fcn.0042ab30
lea rcx, [rbp + 0x270]
mov rdx, qword [rbp + 0x268]
call fcn.0042de00
lea rcx, [rbp + 0x278]
mov rdx, qword [rbp + 0x270]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x278]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7ad]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x230]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x228]
mov edx, 1
call fcn.0041cbb0
lea rcx, [rbp + 0x230]
mov rdx, qword [rbp + 0x228]
call fcn.0040adf0
lea rcx, [rbp + 0x220]
mov rdx, qword [rbp + 0x230]
call fcn.0040ac30
lea rcx, [rbp + 0x238]
mov rdx, qword [rbp + 0x220]
call fcn.0042ab30
lea rcx, [rbp + 0x240]
mov rdx, qword [rbp + 0x238]
call fcn.0042de00
lea rcx, [rbp + 0x248]
mov rdx, qword [rbp + 0x240]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x218]
lea rdx, [0x0045f9a8]
mov r8d, 4
call fcn.004265f0
lea rcx, [rbp + 0x248]
mov rdx, qword [rbp + 0x218]
call fcn.0040adf0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x248]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7d1]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
mov eax, dword [rbp + 0x39c]
add eax, 0x175
cvtsi2sd xmm0, eax
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x27a
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x208]
call fcn.004341c0
lea rcx, [rbp + 0x200]
lea rdx, [0x0046d7ad]
call fcn.0040a4c0
lea rcx, [rbp + 0x210]
mov edx, 3
mov r8, qword [rbp + 0x208]
mov r9, qword [rbp + 0x200]
lea rax, [0x0043e358]
mov qword [rsp + 0x20], rax
call fcn.0040a840
lea rcx, [rbp + 0x1f8]
mov rdx, qword [rbp + 0x210]
call fcn.0040ac00
lea rcx, [0x0046da51]
mov rdx, qword [rbp + 0x1f8]
call fcn.0041d410
mov eax, dword [rbp + 0x3a4]
add dword [rbp + 0x398], eax
lea rcx, [rbp + 0x1d8]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x1d0]
mov edx, 2
call fcn.0041cbb0
lea rcx, [rbp + 0x1d8]
mov rdx, qword [rbp + 0x1d0]
call fcn.0040adf0
lea rcx, [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1d8]
call fcn.0040ac30
lea rcx, [rbp + 0x1e0]
mov rdx, qword [rbp + 0x1c8]
call fcn.0042ab30
lea rcx, [rbp + 0x1e8]
mov rdx, qword [rbp + 0x1e0]
call fcn.0042de00
lea rcx, [rbp + 0x1f0]
mov rdx, qword [rbp + 0x1e8]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x1c0]
lea rdx, [0x0045f988]
mov r8d, 4
call fcn.004265f0
lea rcx, [rbp + 0x1f0]
mov rdx, qword [rbp + 0x1c0]
call fcn.0040adf0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x1f0]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7e3]
lea rdx, [rbp + 0x280]
mov r8b, 0xc
call fcn.0040a170
mov dword [rbp + 0x398], 0
lea rcx, [rbp + 0x1a0]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x198]
mov edx, 3
call fcn.0041cbb0
lea rcx, [rbp + 0x1a0]
mov rdx, qword [rbp + 0x198]
call fcn.0040adf0
lea rcx, [rbp + 0x190]
mov rdx, qword [rbp + 0x1a0]
call fcn.0040ac30
lea rcx, [rbp + 0x1a8]
mov rdx, qword [rbp + 0x190]
call fcn.0042ab30
lea rcx, [rbp + 0x1b0]
mov rdx, qword [rbp + 0x1a8]
call fcn.0042de00
lea rcx, [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1b0]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x188]
lea rdx, [0x0045f988]
mov r8d, 4
call fcn.004265f0
lea rcx, [rbp + 0x1b8]
mov rdx, qword [rbp + 0x188]
call fcn.0040adf0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x1b8]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7f0]
lea rdx, [rbp + 0x280]
mov r8b, 0xc
call fcn.0040a170
lea rcx, [rbp + 0x168]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x160]
mov edx, 4
call fcn.0041cbb0
lea rcx, [rbp + 0x168]
mov rdx, qword [rbp + 0x160]
call fcn.0040adf0
lea rcx, [rbp + 0x158]
mov rdx, qword [rbp + 0x168]
call fcn.0040ac30
lea rcx, [rbp + 0x170]
mov rdx, qword [rbp + 0x158]
call fcn.0042ab30
lea rcx, [rbp + 0x178]
mov rdx, qword [rbp + 0x170]
call fcn.0042de00
lea rcx, [rbp + 0x180]
mov rdx, qword [rbp + 0x178]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x180]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7b6]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
mov eax, dword [rbp + 0x398]
sub eax, 0x22d
mov dword [rbp + 0x39c], eax
lea rcx, [0x0043e368]
lea rdx, [0x0043e388]
mov r8d, 1
call fcn.0040b270
cmp eax, 0x1f
je 0x43d4f6
mov eax, dword [rbp + 0x398]
sub eax, 0x25f
mov dword [rbp + 0x39c], eax
lea rcx, [rbp + 0x138]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x130]
mov edx, 5
call fcn.0041cbb0
lea rcx, [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
call fcn.0040adf0
lea rcx, [rbp + 0x128]
mov rdx, qword [rbp + 0x138]
call fcn.0040ac30
lea rcx, [rbp + 0x140]
mov rdx, qword [rbp + 0x128]
call fcn.0042ab30
lea rcx, [rbp + 0x148]
mov rdx, qword [rbp + 0x140]
call fcn.0042de00
lea rcx, [rbp + 0x150]
mov rdx, qword [rbp + 0x148]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x150]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d83f]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43d5e7
lea rcx, [rbp + 0x3a0]
lea rdx, [rbp + 0x3a0]
call fcn.0042c750
lea rcx, [rbp + 0x108]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x100]
mov edx, 6
call fcn.0041cbb0
lea rcx, [rbp + 0x108]
mov rdx, qword [rbp + 0x100]
call fcn.0040adf0
lea rcx, [rbp + 0xf8]
mov rdx, qword [rbp + 0x108]
call fcn.0040ac30
lea rcx, [rbp + 0x110]
mov rdx, qword [rbp + 0xf8]
call fcn.0042ab30
lea rcx, [rbp + 0x118]
mov rdx, qword [rbp + 0x110]
call fcn.0042de00
lea rcx, [rbp + 0x120]
mov rdx, qword [rbp + 0x118]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x120]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7bf]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x269
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0xd8]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0xd0]
mov edx, 7
call fcn.0041cbb0
lea rcx, [rbp + 0xd8]
mov rdx, qword [rbp + 0xd0]
call fcn.0040adf0
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xd8]
call fcn.0040ac30
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0xc8]
call fcn.0042ab30
lea rcx, [rbp + 0xe8]
mov rdx, qword [rbp + 0xe0]
call fcn.0042de00
lea rcx, [rbp + 0xf0]
mov rdx, qword [rbp + 0xe8]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0xf0]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7c8]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
lea rcx, [rbp + 0xa8]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0xa0]
mov edx, 8
call fcn.0041cbb0
lea rcx, [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
call fcn.0040adf0
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0xa8]
call fcn.0040ac30
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0x98]
call fcn.0042ab30
lea rcx, [rbp + 0xb8]
mov rdx, qword [rbp + 0xb0]
call fcn.0042de00
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0xb8]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0xc0]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d7da]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43d875
lea rcx, [rbp + 0x3a4]
lea rdx, [rbp + 0x3a0]
lea r8, [rbp + 0x39c]
call fcn.0042c240
lea rcx, [rbp + 0x78]
lea rdx, [0x0046d78c]
call fcn.0040acf0
lea rcx, [rbp + 0x70]
mov edx, 9
call fcn.0041cbb0
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x70]
call fcn.0040adf0
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x78]
call fcn.0040ac30
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x68]
call fcn.0042ab30
lea rcx, [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
call fcn.0042de00
lea rcx, [rbp + 0x90]
mov rdx, qword [rbp + 0x88]
mov r8d, 1
mov r9d, 8
call fcn.0040b0e0
lea rcx, [rbp + 0x280]
mov rdx, qword [rbp + 0x90]
mov r8d, 0xff
call fcn.0040ac60
lea rcx, [0x0046d848]
lea rdx, [rbp + 0x280]
mov r8b, 8
call fcn.0040a170
add dword [rbp + 0x39c], 0x1e8
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x2ad
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x60]
call fcn.00433d40
lea rcx, [0x0046dc51]
mov rdx, qword [rbp + 0x60]
call fcn.0041d410
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x277
mov dword [rbp + 0x398], eax
call qword [0x0046e3a0]
lea rcx, [rbp + 0x58]
mov edx, eax
call fcn.00432270
lea rcx, [0x0046de51]
mov rdx, qword [rbp + 0x58]
call fcn.0041d410
mov dword [rbp + 0x398], 0
mov dword [0x0046e0e5], 5
mov eax, dword [rbp + 0x398]
add eax, 0x204
mov dword [rbp + 0x39c], eax
mov dword [0x0046e0e9], 0x1940cc06
mov eax, dword [rbp + 0x398]
add eax, 0x215
mov dword [rbp + 0x39c], eax
mov eax, dword [rbp + 0x3a4]
add dword [rbp + 0x398], eax
call fcn.00432f20
mov dword [0x0046e0ed], eax
mov dword [rbp + 0x398], 0
call fcn.00432c10
mov dword [0x0046e0f1], eax
mov eax, dword [rbp + 0x3a4]
cmp eax, dword [rbp + 0x3a4]
jle 0x43da12
lea rcx, [rbp + 0x3a4]
call fcn.0042b9c0
call fcn.004388a0
mov dword [0x0046e0f5], eax
mov eax, dword [rbp + 0x398]
add eax, 0x1eb
mov dword [rbp + 0x39c], eax
call fcn.00438fe0
mov dword [0x0046e0f9], eax
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43da70
lea rcx, [rbp + 0x3a4]
lea rdx, [rbp + 0x3a0]
lea r8, [rbp + 0x39c]
call fcn.0042c390
call fcn.0043c280
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x50]
lea rdx, [0x0046da51]
mov r8d, pe_nt_image_headers64
call fcn.0040a4e0
mov rcx, qword [rbp + 0x50]
call fcn.0043b700
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43dadd
lea rcx, [rbp + 0x3a4]
lea rdx, [rbp + 0x3a0]
lea r8, [rbp + 0x39c]
call fcn.0042c390
lea rcx, [rbp + 0x48]
lea rdx, [0x0046da51]
mov r8d, pe_nt_image_headers64
call fcn.0040a4e0
lea rcx, [rbp + 0x40]
lea rdx, [0x0046d7b6]
call fcn.0040a4c0
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
call fcn.0040a550
mov rcx, qword [rbp + 0x48]
call fcn.0043b700
add dword [rbp + 0x39c], 0x1c2
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x287
mov dword [rbp + 0x398], eax
lea rcx, [rbp + 0x38]
lea rdx, [0x0046da51]
mov r8d, pe_nt_image_headers64
call fcn.0040a4e0
lea rcx, [rbp + 0x30]
lea rdx, [0x0046d7bf]
call fcn.0040a4c0
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
call fcn.0040a550
mov rcx, qword [rbp + 0x38]
call fcn.0043b700
mov dword [rbp + 0x398], 0
mov byte [rbp + 0x3af], 1
cmp byte [rbp + 0x3af], 0
je 0x43dc91
mov dword [rbp + 0x3a4], 0
mov eax, 0x306
sub eax, dword [rbp + 0x3a0]
mov dword [rbp + 0x398], eax
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x39c]
cmp eax, ecx
jge 0x43dbef
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov ecx, dword [rbp + 0x3a0]
add ecx, dword [rbp + 0x3a0]
cmp eax, ecx
jge 0x43dc1e
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
add dword [rbp + 0x3a4], 1
cmp dword [rbp + 0x3a4], 3
jne 0x43db9b
nop
mov eax, dword [rbp + 0x39c]
add eax, 4
cvtsi2sd xmm0, eax
call fcn.00405cb0
mov dword [rbp + 0x3a0], eax
mov dword [rbp + 0x3a8], 0
lea rax, str.TPRRR
movsxd rcx, dword [rbp + 0x3a8]
lea rax, [rax + rcx]
xor byte [rax], 0x52
add dword [rbp + 0x3a8], 1
cmp dword [rbp + 0x3a8], 0x94
jne 0x43dc68
nop
mov dword [rbp + 0x3a4], 0
mov eax, 0x300
sub eax, dword [rbp + 0x3a0]
mov dword [rbp + 0x398], eax
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405cb0
mov dword [rbp + 0x3a0], eax
cvtsi2sd xmm0, dword [rbp + 0x3a0]
call fcn.00405ca0
mov dword [rbp + 0x3a0], eax
add dword [rbp + 0x3a4], 1
cmp dword [rbp + 0x3a4], 3
jne 0x43dc9b
nop
mov eax, dword [rbp + 0x39c]
add eax, 4
cvtsi2sd xmm0, eax
call fcn.00405cb0
mov dword [rbp + 0x3a0], eax
mov eax, dword [rbp + 0x398]
add eax, 0x21c
mov dword [rbp + 0x39c], eax
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x281
mov dword [rbp + 0x398], eax
mov eax, dword [rbp + 0x3a4]
add eax, dword [rbp + 0x3a4]
mov dword [rbp + 0x398], eax
mov rcx, qword [0x0042b0b0]
mov dl, 1
call fcn.0042bdb0
mov qword [0x0046e5b8], rax
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x279
mov dword [rbp + 0x398], eax
mov rcx, qword [0x0046e5b8]
lea rdx, str.TPRRR
mov r8d, 0x94
call fcn.0042cd90
mov eax, dword [rbp + 0x398]
imul eax, eax, 0x2aa
mov dword [rbp + 0x398], eax
lea rax, [0x0046e051]
mov qword [rbp + 0x390], rax
lea rcx, str.TPRRR
mov rdx, qword [rbp + 0x390]
mov r8d, 0x94
call fcn.00405950
mov eax, dword [rbp + 0x3a4]
cmp eax, dword [rbp + 0x3a4]
jle 0x43dded
lea rcx, [rbp + 0x3a4]
call fcn.0042ad50
nop
lea rcx, [rbp + 0x30]
mov edx, 5
call fcn.00409910
lea rcx, [rbp + 0x58]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x68]
call fcn.00409870
lea rcx, [rbp + 0x70]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x80]
call fcn.00409820
lea rcx, [rbp + 0x88]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x98]
call fcn.00409870
lea rcx, [rbp + 0xa0]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0xb0]
call fcn.00409820
lea rcx, [rbp + 0xb8]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0xc8]
call fcn.00409870
lea rcx, [rbp + 0xd0]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0xe0]
call fcn.00409820
lea rcx, [rbp + 0xe8]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0xf8]
call fcn.00409870
lea rcx, [rbp + 0x100]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x110]
call fcn.00409820
lea rcx, [rbp + 0x118]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x128]
call fcn.00409870
lea rcx, [rbp + 0x130]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x140]
call fcn.00409820
lea rcx, [rbp + 0x148]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x158]
call fcn.00409870
lea rcx, [rbp + 0x160]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x170]
call fcn.00409820
lea rcx, [rbp + 0x178]
mov edx, 3
call fcn.004098b0
lea rcx, [rbp + 0x190]
call fcn.00409870
lea rcx, [rbp + 0x198]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x1a8]
call fcn.00409820
lea rcx, [rbp + 0x1b0]
mov edx, 3
call fcn.004098b0
lea rcx, [rbp + 0x1c8]
call fcn.00409870
lea rcx, [rbp + 0x1d0]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x1e0]
call fcn.00409820
lea rcx, [rbp + 0x1e8]
mov edx, 3
call fcn.004098b0
lea rcx, [rbp + 0x200]
mov edx, 3
call fcn.00409910
lea rcx, [rbp + 0x218]
call fcn.004097d0
lea rcx, [rbp + 0x220]
call fcn.00409870
lea rcx, [rbp + 0x228]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x238]
call fcn.00409820
lea rcx, [rbp + 0x240]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x250]
call fcn.00409870
lea rcx, [rbp + 0x258]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x268]
call fcn.00409820
lea rcx, [rbp + 0x270]
mov edx, 2
call fcn.004098b0
lea rcx, [rbp + 0x380]
mov edx, 2
call fcn.004098b0
lea rsp, [rbp + 0x3b0]
pop rbp
ret