Function at 0x4200d8
Capabilities:
Check for software breakpoints
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
movups xmmword [rsp + 0x2d0], xmm6
mov rax, qword [r9]
cmp qword [rdx], 0
mov qword [rsp + 0x48], rax
mov rax, qword [r9 + 8]
mov rbp, rdx
mov qword [rsp + 0x330], rcx
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
je 0x4209d4
movups xmm0, xmmword [rcx + 0x40]
lea r13, [rsp + 0xa0]
lea r12, [rsp + 0xb0]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm0
movups xmm2, xmmword [rdx + 0x30]
mov rdx, r13
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0xa0], xmm2
call fcn.0040bc58
test al, al
je 0x4201f8
mov rax, qword [rsp + 0x330]
mov rdx, r13
mov rcx, r12
movups xmm3, xmmword [rax + 0x10]
movups xmmword [rsp + 0xb0], xmm3
movups xmm5, xmmword [rbp]
movups xmmword [rsp + 0x30], xmm3
movups xmmword [rsp + 0xa0], xmm5
call fcn.0040bc58
test al, al
je 0x4201f8
mov rax, qword [rsp + 0x330]
mov rdx, r13
mov rcx, r12
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0xb0], xmm0
movups xmm2, xmmword [rbp + 0x40]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0xa0], xmm2
call fcn.0040bc58
test al, al
je 0x4201f8
mov rax, qword [rsp + 0x330]
cmp byte [rax + 8], 0
jne 0x4209c3
lea rcx, [rsp + 0x180]
mov edx, 0x88
mov qword [rsp + 0x30], rcx
call fcn.004017f3
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax + 0xc0]
test rdx, rdx
jne 0x42022b
mov rdx, rbp
call fcn.0040b529
movups xmm3, xmmword [rsp + 0x180]
mov rdx, r13
mov rcx, r12
movups xmmword [rsp + 0xa0], xmm3
call fcn.00405811
mov rsi, qword [0x0043fa60]
mov rax, qword [rsp + 0xb8]
cmp byte [rsi], 0
mov qword [rsp + 0x70], rax
jne 0x4209ac
movups xmm4, xmmword [0x0043b310]
mov rdx, r13
mov rcx, r12
movups xmmword [rsp + 0xa0], xmm4
call fcn.0040bc58
test al, al
jne 0x420296
mov rax, qword [rsp + 0x330]
cmp byte [rax + 8], 0
je 0x420305
jmp 0x4202e3
mov ecx, 0x48
lea rdi, [0x004480a0]
call fcn.00401dfb
lea rdx, str.HttpRequestError
mov qword [rax + 8], rdi
lea rcx, [rax + 8]
lea rax, [0x0043b320]
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], 0x55
mov qword [rcx + 8], 0
mov qword [rsp + 0x20], 0x376
jmp 0x420999
mov rcx, qword [rsp + 0x330]
call fcn.0040cf7c
cmp byte [rsi], 0
jne 0x4209ac
mov rax, qword [rsp + 0x330]
mov byte [rax + 8], 0
cmp qword [rsp + 0x1c0], 0
mov ebx, 0x50
je 0x420339
movups xmm5, xmmword [rsp + 0x1c0]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm5
call fcn.004058fc
cmp byte [rsi], 0
mov rbx, rax
jne 0x4209ac
mov rax, qword [rsp + 0x1b0]
cmp byte [rsi], 0
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x68], rax
jne 0x42089f
lea r13, [rsp + 0x210]
mov edx, 0x30
xor r14d, r14d
mov qword [rsp + 0x160], 0
mov rcx, r13
call fcn.004017f3
cmp byte [rsi], 0
mov qword [rsp + 0x160], 0
jne 0x42045e
mov eax, 1
mov ecx, 6
shl rax, 0x20
mov qword [rsp + 0x214], rax
call fcn.0040ac70
lea rcx, [rsp + 0x170]
movzx edx, bx
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x21c], eax
mov qword [rsp + 0x178], 0
call fcn.004038ac
cmp byte [rsi], 0
mov rcx, qword [rsp + 0x170]
mov r14, qword [rsp + 0x178]
jne 0x42045e
mov rax, qword [0x00447ff8]
lea rdx, [0x00436f20]
test rcx, rcx
je 0x42040b
lea rdx, [r14 + 8]
cmp qword [rsp + 0x58], 0
lea rcx, [0x00436f20]
je 0x420423
mov rdi, qword [rsp + 0x68]
lea rcx, [rdi + 8]
lea r9, [rsp + 0x160]
mov r8, r13
call rax
test eax, eax
je 0x42045e
call fcn.00405f84
mov ecx, eax
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x42045e
movups xmm0, xmmword [0x0043b5f0]
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm0
call fcn.00405f39
mov rcx, r14
call fcn.00423ed7
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x50], rax
mov rax, qword [0x0043fa60]
mov al, byte [rax]
mov byte [rsp + 0x30], al
test al, al
jne 0x42089f
mov edx, 0xc0
mov rcx, r13
call fcn.004017f3
mov rax, qword [0x0043fa70]
mov rdx, qword [rax]
xor eax, eax
mov qword [rsp + rax*8 + 0x210], rdx
inc rax
cmp rax, 0x18
jne 0x4204a1
mov rsi, qword [rsp + 0x50]
xor ebx, ebx
xor r12d, r12d
xor r13d, r13d
test rsi, rsi
je 0x420709
lea rcx, [rsp + 0x120]
mov edx, 2
mov edi, dword [rsi + 4]
call fcn.004017f3
lea rcx, [rsp + 0x130]
mov edx, 2
call fcn.004017f3
lea rcx, [rsp + 0x140]
mov edx, 2
call fcn.004017f3
lea rcx, [rsp + 0x150]
mov edx, 2
call fcn.004017f3
lea rcx, [rsp + 0x160]
mov edx, 2
call fcn.004017f3
test edi, edi
je 0x420530
cmp edi, 2
jne 0x42054b
jmp 0x420573
xor ecx, ecx
call fcn.0040acb5
mov rdi, qword [0x0043fa60]
mov word [rsp + 0x130], ax
cmp byte [rdi], 0
jmp 0x4205a3
cmp edi, 0x17
je 0x420587
lea rcx, [rsp + 0x170]
mov edx, 2
call fcn.004017f3
mov eax, dword [rsp + 0x170]
mov word [rsp + 0x160], ax
jmp 0x420599
mov ecx, 2
call fcn.0040acb5
mov word [rsp + 0x140], ax
jmp 0x420599
mov ecx, 0x17
call fcn.0040acb5
mov word [rsp + 0x150], ax
mov rdx, qword [0x0043fa60]
cmp byte [rdx], 0
jne 0x4205ad
mov word [rsp + 0x120], ax
mov r14, qword [0x0043fa60]
mov al, byte [rsp + 0x121]
mov dil, byte [rsp + 0x120]
cmp byte [r14], 0
mov byte [rsp + 0x60], al
jne 0x42089f
test al, al
je 0x4205f7
movzx eax, dil
movzx r15d, dil
mov rbx, qword [rsp + rax*8 + 0x210]
mov rax, qword [0x0043fa70]
cmp rbx, qword [rax]
jne 0x4206c5
jmp 0x420600
mov rsi, qword [rsi + 0x28]
jmp 0x4204bf
mov r8d, 6
mov edx, 1
mov ecx, r15d
call fcn.004189d8
cmp byte [r14], 0
mov rbx, rax
jne 0x42089f
mov rax, qword [0x0043fa70]
cmp rbx, qword [rax]
je 0x420639
mov qword [rsp + r15*8 + 0x210], rbx
jmp 0x4206c5
call fcn.00405f84
cmp byte [r14], 0
mov r12d, eax
jne 0x42089f
mov rcx, qword [rsp + 0x50]
xor r14d, r14d
call qword [0x00447ff0]
mov rax, qword [0x0043fa70]
mov rcx, qword [rsp + r14*8 + 0x210]
cmp rcx, qword [rax]
jne 0x420678
cmp r14, 0x17
je 0x42068e
inc r14
jmp 0x420659
call fcn.0040ac69
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
je 0x42066d
jmp 0x42089f
mov rax, qword [0x0043f6f0]
lea rdx, [rsp + 0xb0]
mov ecx, r12d
movups xmm1, xmmword [rax]
movups xmmword [rsp + 0xb0], xmm1
call fcn.00405f39
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
je 0x42062c
jmp 0x42089f
mov rdx, qword [rsi + 0x20]
mov r8d, dword [rsi + 0x10]
mov rcx, rbx
call qword [0x00447fe8]
test eax, eax
je 0x4206fe
call fcn.00405f84
mov r13d, eax
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x42089f
mov rsi, qword [rsi + 0x28]
mov r12d, edi
jmp 0x4204bf
mov al, byte [rsp + 0x60]
mov r12d, edi
mov byte [rsp + 0x30], al
mov rcx, qword [rsp + 0x50]
xor r14d, r14d
movzx edi, r12b
call qword [0x00447ff0]
mov rsi, qword [0x0043fa70]
mov r15, qword [0x0043fa60]
mov rcx, qword [rsp + r14*8 + 0x210]
cmp rcx, qword [rsi]
jne 0x420741
cmp r14, 0x17
je 0x420756
inc r14
jmp 0x420729
cmp r14, rdi
je 0x420736
call fcn.0040ac69
cmp byte [r15], 0
je 0x420736
jmp 0x42089f
cmp byte [rsp + 0x30], 0
jne 0x42084f
test r13d, r13d
lea r12, [rsp + 0xb0]
jne 0x420882
mov ecx, 0x48
lea r14, str.IOError
lea r15, [rsp + 0x170]
call fcn.00401dfb
mov rdx, qword [0x0043f540]
mov rcx, r12
mov qword [rax + 0x18], r14
lea r13, [rax + 8]
mov qword [rax + 8], rdx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
lea rdx, [rax + 0x1a]
call fcn.00402a42
movups xmm2, xmmword [rsp + 0xb0]
mov rdx, r12
mov rcx, r15
movups xmm3, xmmword [0x0043b300]
movups xmmword [rsp + 0x170], xmm2
movups xmmword [rsp + 0xb0], xmm3
call fcn.004017c3
mov rax, qword [rsp + 0x58]
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xb8], rax
call fcn.004017c3
movups xmm4, xmmword [rsp + 0x170]
mov rdx, r14
mov rcx, r13
mov qword [r13 + 8], 0
lea r9, str.net.nim
lea r8, str.dial
movups xmmword [r13 + 0x18], xmm4
mov qword [rsp + 0x20], 0x80a
call fcn.00403205
jmp 0x42089f
mov ecx, 0xfd0
call fcn.00401dfb
lea rsi, [rax + 8]
mov qword [rax + 8], rbx
mov byte [rsi + 8], 1
mov byte [rsi + 0xfc4], r12b
mov word [rsi + 0xfc5], 0x601
mov qword [rsi + 0xfb0], 0
jmp 0x4208a1
mov rax, qword [0x0043f700]
mov rdx, r12
mov ecx, r13d
movups xmm5, xmmword [rax]
movups xmmword [rsp + 0xb0], xmm5
call fcn.00405f39
xor esi, esi
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x4209ac
mov rax, qword [rsp + 0x330]
mov rcx, qword [rax]
call fcn.00401ce6
test al, al
je 0x4208de
mov rax, qword [rsp + 0x330]
mov rax, qword [rax]
lea rcx, [rax - 8]
mov qword [rsp + 0x30], rax
call fcn.00402291
mov rax, qword [rsp + 0x330]
movups xmm1, xmmword [0x0043b310]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xb0]
mov qword [rax], rsi
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0xb0], xmm0
call fcn.0040bc58
test al, al
je 0x42092f
mov rax, qword [rsp + 0x330]
cmp qword [rax + 0xc0], 0
jne 0x420951
mov rax, qword [rsp + 0x330]
mov rdx, rbp
lea rcx, [rax + 0x10]
call fcn.0040b529
mov rax, qword [rsp + 0x330]
mov byte [rax + 8], 1
jmp 0x4209ac
mov ecx, 0x48
lea rdi, [0x004480a0]
call fcn.00401dfb
lea rdx, str.HttpRequestError
mov qword [rax + 8], rdi
lea rcx, [rax + 8]
lea rax, [0x0043b320]
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], 0x55
mov qword [rcx + 8], 0
mov qword [rsp + 0x20], 0x3a9
lea r9, str.httpclient.nim
lea r8, str.newConnection
call fcn.00403205
mov rcx, qword [rsp + 0x70]
call fcn.00423ed7
lea rcx, [rsp + 0x180]
call fcn.0040b600
mov rbx, qword [0x0043fa60]
cmp byte [rbx], 0
je 0x420a34
jmp 0x420b47
mov ecx, 0x48
call fcn.00401dfb
mov rdx, qword [0x0043f560]
lea r9, str.httpclient.nim
lea r8, str.requestAux
lea rcx, [rax + 8]
mov qword [rax + 8], rdx
lea rdx, str.ValueError
lea rax, [0x0043b3c0]
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], 0x17
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
mov qword [rsp + 0x20], 0x3eb
call fcn.00403205
jmp 0x420b47
mov rax, qword [rsp + 0x330]
mov rcx, qword [rax + 0x98]
call fcn.0041ac2d
cmp byte [rbx], 0
mov qword [rsp + 0xc8], rax
mov rcx, rax
jne 0x420b47
movups xmm2, xmmword [0x0043b2e0]
lea r12, [rsp + 0xb0]
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm2
call fcn.0040c716
cmp byte [rbx], 0
jne 0x420b47
test al, al
jne 0x420b55
cmp qword [rsp + 0x48], 0
jne 0x420aa0
cmp byte [rsp + 0x40], 1
ja 0x420b0c
jmp 0x420b55
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.004039b3
cmp byte [rbx], 0
mov rax, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xb8]
jne 0x420b47
movups xmm3, xmmword [0x0043b2e0]
mov rcx, qword [rsp + 0xc8]
mov rdx, r12
lea r8, [rsp + 0xa0]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r13
movups xmmword [rsp + 0xb0], xmm3
call fcn.0040c625
cmp byte [rbx], 0
jne 0x420b47
mov rcx, r13
call fcn.00423ed7
jmp 0x420b55
movups xmm4, xmmword [0x0043b2e0]
movups xmm5, xmmword [0x0043b3a0]
mov rdx, r12
lea r8, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
movups xmmword [rsp + 0xb0], xmm4
movups xmmword [rsp + 0xa0], xmm5
call fcn.0040c625
cmp byte [rbx], 0
je 0x420b55
mov qword [rsp + 0x30], 0
jmp 0x422a7d
movups xmm6, xmmword [0x0043b390]
mov rcx, qword [rsp + 0xc8]
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040c716
cmp byte [rbx], 0
jne 0x420b47
test al, al
je 0x420bbd
mov rax, qword [rsp + 0x330]
cmp byte [rsp + 0x40], 8
mov rsi, qword [rsp + 0xc8]
mov rdi, qword [rax + 0xc0]
ja case.default.0x420bb2
movzx edx, byte [rsp + 0x40]
lea rcx, [0x0043772c]
movsxd rax, dword [rcx + rdx*4]
add rax, rcx
jmp rax
lea rax, [0x0043b1e0]
jmp 0x420c28
mov rax, qword [rsp + 0x330]
cmp qword [rax + 0xa8], 0
jle 0x420b7d
movups xmm0, xmmword [0x0043b380]
mov rcx, qword [rsp + 0xc8]
lea r8, [rsp + 0xa0]
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [rax + 0xa8]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0xa0], xmm1
call fcn.0040c625
cmp byte [rbx], 0
je 0x420b7d
jmp 0x420b47
lea rax, [0x0043b1d0]
jmp 0x420c36
lea rax, [0x0043b1c0]
mov edx, 4
jmp 0x420c7d
lea rax, [0x0043b1b0]
mov edx, 3
jmp 0x420c7d
lea rax, [0x0043b1a0]
mov edx, 6
jmp 0x420c7d
lea rax, [0x0043b190]
jmp 0x420c72
lea rax, [0x0043b180]
jmp 0x420c64
lea rax, [0x0043b170]
mov edx, 7
jmp 0x420c7d
lea rax, [0x0043b160]
mov edx, 5
jmp 0x420c7d
xor eax, eax
xor edx, edx
lea r13, [rsp + 0x140]
mov qword [rsp + 0x140], rdx
mov edx, 0x20
mov rcx, r13
mov qword [rsp + 0x148], rax
call fcn.00402ca6
test rdi, rdi
je 0x420d46
movups xmm3, xmmword [rbp]
movups xmm4, xmmword [0x0043b310]
lea r15, [rsp + 0xa0]
mov rcx, r12
mov rdx, r15
movups xmmword [rsp + 0xb0], xmm3
movups xmmword [rsp + 0xa0], xmm4
call fcn.0040bc58
test al, al
jne 0x420d46
lea r14, [rsp + 0x210]
mov edx, 0x88
mov rcx, r14
call fcn.004017f3
mov rdx, rbp
mov rcx, r14
call fcn.0040b529
movups xmm5, xmmword [rbp]
mov rdx, r15
mov rcx, r12
movups xmm6, xmmword [0x0043b310]
movups xmmword [rsp + 0xb0], xmm5
movups xmmword [rsp + 0xa0], xmm6
call fcn.0040bc58
test al, al
je 0x420d63
mov rax, qword [0x0043f6c0]
mov rdx, r12
mov rcx, r14
movups xmm4, xmmword [rax]
movups xmmword [rsp + 0xb0], xmm4
call fcn.00402957
jmp 0x420d63
cmp qword [rbp + 0x50], 0
mov rdx, qword [rbp + 0x58]
mov al, 1
jle 0x421603
cmp byte [rdx + 8], 0x2f
setne al
jmp 0x421603
mov rdx, r14
mov rcx, r12
call fcn.0040b725
cmp byte [rbx], 0
mov rax, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xb8]
jne 0x42160c
mov rdx, rax
mov rcx, r13
mov qword [rsp + 0x30], rax
call fcn.00402bfd
mov rax, qword [rsp + 0x30]
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xb0], rax
call fcn.004017c3
mov rcx, r15
call fcn.00423ed7
mov rcx, r14
call fcn.0040b600
lea r13, [rsp + 0x140]
mov edx, 0xb
mov rcx, r13
call fcn.00402bfd
movups xmm5, xmmword [0x0043b2b0]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xb0], xmm5
call fcn.004017c3
movups xmm6, xmmword [0x0043b2a0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040c716
cmp byte [rbx], 0
jne 0x42160c
test al, al
jne 0x420f87
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x30]
lea r14, [rsp + 0x210]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
test rax, rax
je 0x420ee2
lea rdx, [rdx + rax + 9]
mov rcx, r12
call fcn.00402a42
movups xmm0, xmmword [rsp + 0xb0]
mov rdx, r12
mov rcx, r14
movups xmm1, xmmword [0x0043b280]
movups xmmword [rsp + 0x210], xmm0
movups xmmword [rsp + 0xb0], xmm1
call fcn.004017c3
movups xmm2, xmmword [rbp + 0x30]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xb0], xmm2
call fcn.004017c3
movups xmm3, xmmword [0x0043b290]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xb0], xmm3
call fcn.004017c3
movups xmm4, xmmword [rbp + 0x40]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xb0], xmm4
call fcn.004017c3
movups xmm5, xmmword [0x0043b2d0]
movups xmmword [rsp + 0xb0], xmm5
jmp 0x420f3e
add rdx, 8
mov rcx, r12
call fcn.00402a42
movups xmm6, xmmword [rsp + 0xb0]
mov rdx, r12
mov rcx, r14
movups xmm0, xmmword [0x0043b280]
movups xmmword [rsp + 0x210], xmm6
movups xmmword [rsp + 0xb0], xmm0
call fcn.004017c3
movups xmm1, xmmword [rbp + 0x30]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xb0], xmm1
call fcn.004017c3
movups xmm2, xmmword [0x0043b2d0]
movups xmmword [rsp + 0xb0], xmm2
mov rcx, r14
mov rdx, r12
call fcn.004017c3
mov rbp, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
mov rcx, r13
mov rdx, rbp
call fcn.00402bfd
mov rcx, r13
mov rdx, r12
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], r14
call fcn.004017c3
mov rcx, r14
call fcn.00423ed7
movups xmm3, xmmword [0x0043b270]
lea r12, [rsp + 0xb0]
mov rcx, rsi
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm3
call fcn.0040c716
cmp byte [rbx], 0
jne 0x42160c
test al, al
jne 0x420fdd
mov edx, 0x18
mov rcx, r13
call fcn.00402bfd
movups xmm4, xmmword [0x0043b260]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xb0], xmm4
call fcn.004017c3
test rdi, rdi
je 0x42132f
mov rbx, qword [rdi + 0x88]
test rbx, rbx
je 0x42132f
lea rax, [rbx*4]
mov ebp, 3
xor r12d, r12d
xor r13d, r13d
cqo
mov r14, qword [rdi + 0x90]
lea rdi, [rsp + 0x210]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
mov rcx, rdi
idiv rbp
lea rdx, [rax + 6]
call fcn.00403863
mov rax, rbx
cqo
idiv rbp
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
sub rbx, rdx
mov r15, rdx
mov rdx, rbx
cmp rdx, r13
jne 0x421075
cmp r15, 1
lea r13, [rsp + 0x210]
jne 0x421126
jmp 0x4211ac
movzx ebx, byte [r14 + r13 + 8]
movzx eax, byte [r14 + r13 + 9]
mov rcx, rdi
mov qword [rsp + 0x30], rdx
shl eax, 8
shl ebx, 0x10
or ebx, eax
movzx eax, byte [r14 + r13 + 0xa]
add r13, 3
or ebx, eax
call fcn.00401e25
mov eax, ebx
shr eax, 0x12
mov cl, byte [rbp + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 8], cl
mov rcx, rdi
call fcn.00401e25
mov eax, ebx
shr eax, 0xc
and eax, 0x3f
mov cl, byte [rbp + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 9], cl
mov rcx, rdi
call fcn.00401e25
mov eax, ebx
shr eax, 6
and eax, 0x3f
mov cl, byte [rbp + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 0xa], cl
mov rcx, rdi
call fcn.00401e25
mov eax, ebx
mov rdx, qword [rsp + 0x30]
and eax, 0x3f
mov cl, byte [rbp + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 0xb], cl
add r12, 4
jmp 0x421059
cmp r15, 2
jne 0x42122b
movzx ebx, byte [r14 + rdx + 8]
movzx eax, byte [r14 + rdx + 9]
mov rcx, r13
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
shl ebx, 0x10
shl eax, 8
or eax, ebx
mov ebx, eax
call fcn.00401e25
mov eax, ebx
mov rcx, r13
shr eax, 0x12
mov dl, byte [rdi + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 8], dl
call fcn.00401e25
mov eax, ebx
mov rcx, r13
shr eax, 0xc
and eax, 0x3f
mov dl, byte [rdi + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 9], dl
call fcn.00401e25
mov eax, ebx
shr eax, 6
and eax, 0x3c
mov dl, byte [rdi + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 0xa], dl
jmp 0x421211
movzx eax, byte [r14 + rdx + 8]
mov rcx, r13
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
shl eax, 0x10
mov ebx, eax
call fcn.00401e25
mov eax, ebx
mov rcx, r13
shr eax, 0x12
mov dl, byte [rdi + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 8], dl
call fcn.00401e25
mov eax, ebx
mov rcx, r13
shr eax, 0xc
and eax, 0x30
mov dl, byte [rdi + rax]
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 9], dl
call fcn.00401e25
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 0xa], 0x3d
mov rcx, r13
call fcn.00401e25
mov rax, qword [rsp + 0x218]
mov byte [rax + r12 + 0xb], 0x3d
add r12, 4
mov rdx, r12
mov rcx, r13
call fcn.00403863
mov rax, qword [0x0043fa60]
mov rbx, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
cmp byte [rax], 0
jne 0x42160c
lea r12, [rsp + 0xb0]
lea rdx, [rbx + 0x1d]
mov qword [rsp + 0x210], 0
mov rcx, r12
lea r15, [rsp + 0x140]
mov qword [rsp + 0x218], 0
call fcn.00402a42
movups xmm5, xmmword [rsp + 0xb0]
mov rcx, r13
mov rdx, r12
movups xmm6, xmmword [0x0043b250]
movups xmmword [rsp + 0x210], xmm5
movups xmmword [rsp + 0xb0], xmm6
call fcn.004017c3
mov rcx, r13
mov rdx, r12
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], r14
call fcn.004017c3
movups xmm0, xmmword [0x0043b2d0]
mov rcx, r13
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm0
call fcn.004017c3
mov rbx, qword [rsp + 0x210]
mov r13, qword [rsp + 0x218]
mov rcx, r15
mov rdx, rbx
call fcn.00402bfd
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], r13
call fcn.004017c3
mov rcx, r13
call fcn.00423ed7
mov rcx, r14
call fcn.00423ed7
mov rdx, qword [0x0043fa60]
mov rax, qword [rsi]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
cmp byte [rdx], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
jne 0x42160c
mov r12, qword [rax]
xor edi, edi
lea rax, [r12 - 1]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], rdi
jge 0x421425
lea rcx, [rsp + 0x180]
lea r12, [rsp + 0x140]
call fcn.00404737
mov rcx, qword [rsp + 0x178]
call fcn.00423ed7
mov rcx, qword [rsp + 0x168]
call fcn.00423ed7
mov rcx, qword [rsp + 0x158]
call fcn.00423ed7
mov rcx, r12
mov edx, 2
call fcn.00402bfd
movups xmm1, xmmword [0x0043b2d0]
lea rdx, [rsp + 0xb0]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm1
call fcn.004017c3
jmp 0x42160c
mov rax, qword [rsi]
imul rbp, rdi, 0x28
mov rcx, qword [0x0043fa60]
mov rbx, qword [rax + 8]
add rbx, rbp
cmp byte [rcx], 0
mov rdx, qword [rbx + 8]
jne 0x42160c
test rdx, rdx
je 0x4215fb
movups xmm2, xmmword [rbx + 0x10]
lea rbx, [rsp + 0xb0]
lea rcx, [rsp + 0x170]
mov rdx, rbx
movups xmmword [rsp + 0xb0], xmm2
call fcn.00403531
mov rax, qword [rsi]
lea rcx, [rsp + 0x180]
mov rdx, rbx
add rbp, qword [rax + 8]
movups xmm3, xmmword [rbp + 0x20]
xor ebp, ebp
movups xmmword [rsp + 0xb0], xmm3
call fcn.0040491c
mov r14, qword [rsp + 0x180]
cmp r14, rbp
jle 0x4215fb
movups xmm4, xmmword [rsp + 0x170]
lea rcx, [rsp + 0x150]
mov rdx, rbx
mov r13, qword [rsp + 0x188]
lea r15, [rsp + 0x140]
movups xmmword [rsp + 0xb0], xmm4
call fcn.00403531
mov rax, rbp
mov rdx, rbx
inc rbp
shl rax, 4
lea rcx, [rsp + 0x160]
movups xmm5, xmmword [r13 + rax + 8]
lea r13, [rsp + 0x210]
movups xmmword [rsp + 0xb0], xmm5
call fcn.00403531
mov rdx, qword [rsp + 0x160]
mov rcx, rbx
add rdx, qword [rsp + 0x150]
mov qword [rsp + 0x210], 0
add rdx, 4
mov qword [rsp + 0x218], 0
call fcn.00402a42
movups xmm0, xmmword [rsp + 0x150]
mov rdx, rbx
mov rcx, r13
movups xmm6, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0x210], xmm6
call fcn.004017c3
movups xmm1, xmmword [0x0043b240]
mov rdx, rbx
mov rcx, r13
movups xmmword [rsp + 0xb0], xmm1
call fcn.004017c3
movups xmm2, xmmword [rsp + 0x160]
mov rdx, rbx
mov rcx, r13
movups xmmword [rsp + 0xb0], xmm2
call fcn.004017c3
movups xmm3, xmmword [0x0043b2d0]
mov rdx, rbx
mov rcx, r13
movups xmmword [rsp + 0xb0], xmm3
call fcn.004017c3
mov r12, qword [rsp + 0x210]
mov r13, qword [rsp + 0x218]
mov rcx, r15
mov rdx, r12
call fcn.00402bfd
mov rcx, r15
mov rdx, rbx
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], r13
call fcn.004017c3
mov rcx, r13
call fcn.00423ed7
jmp 0x4214a1
inc rdi
jmp 0x4213b1
cmp byte [rbx], 0
je 0x422a85
mov rsi, qword [0x0043fa60]
mov rdi, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
cmp byte [rsi], 0
mov qword [rsp + 0x30], rdi
jne 0x422a7d
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x330]
lea rbx, [rsp + 0xb0]
mov qword [rsp + 0xb8], rdi
mov rdx, rbx
mov rcx, qword [rax]
call fcn.00419100
cmp byte [rsi], 0
jne 0x422a7d
cmp qword [rsp + 0xe0], 0
jg 0x4216a4
cmp qword [rsp + 0x48], 0
jg 0x4216c0
cmp byte [rsp + 0x40], 0
setne dl
cmp byte [rsp + 0x40], 7
setne al
and dl, al
mov byte [rsp + 0x48], dl
je 0x4216fa
mov rax, qword [rsp + 0x330]
mov al, byte [rax + 0x100]
mov byte [rsp + 0x48], al
jmp 0x4216fa
lea rcx, [rsp + 0x210]
mov edx, 0x58
call fcn.004017f3
mov rax, qword [pe_dos_header]
ud2
mov rax, qword [rsp + 0x48]
mov rdx, rbx
xor r12d, r12d
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x330]
mov rcx, qword [rax]
call fcn.00419100
cmp byte [rsi], 0
je 0x421678
jmp 0x422b75
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
call fcn.0040d078
mov ecx, 0x48
call fcn.00401dfb
mov qword [rsp + 0xf0], 0
add rax, 8
mov qword [rsp + 0xd0], rax
mov rax, qword [0x0043f6b0]
mov qword [rsp + 0xf8], rax
call fcn.0041abd2
mov sil, byte [rsi]
mov rdx, rax
test sil, sil
jne 0x422a63
mov rax, qword [rsp + 0xd0]
lea rcx, [rax + 0x20]
call fcn.0040c5ef
mov rax, qword [rsp + 0x330]
lea r12, [rsp + 0xb0]
mov rcx, r12
mov r8, qword [rax + 0xb8]
mov rdx, qword [rax]
call fcn.0041fe10
mov rbp, qword [0x0043fa60]
cmp byte [rbp], 0
jne 0x422a63
lea rcx, [rsp + 0xf0]
mov rdx, r12
call fcn.00402957
mov rdi, qword [rsp + 0xf0]
test rdi, rdi
je 0x42180c
movups xmm4, xmmword [rsp + 0xf0]
movups xmm5, xmmword [0x0043b2d0]
lea r13, [rsp + 0xa0]
mov rcx, r12
mov rdx, r13
movups xmmword [rsp + 0xb0], xmm4
movups xmmword [rsp + 0xa0], xmm5
call fcn.0040bc58
test al, al
je 0x421849
jmp 0x421e45
mov rcx, qword [rsp + 0x330]
call fcn.0040cf7c
cmp byte [rbp], 0
jne 0x422a63
movups xmm6, xmmword [0x0043b150]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040d0ab
cmp byte [rbp], 0
je 0x421e45
jmp 0x422a63
test sil, sil
je 0x4218b2
mov rax, qword [0x0043f6b0]
mov rcx, qword [rsp + 0xf8]
xor esi, esi
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], rax
cmp rdi, rsi
jle 0x42187f
cmp byte [rcx + rsi + 8], 0x3a
jne 0x4218ad
xor r8d, r8d
lea rdx, [rsp + 0x180]
mov r9, rsi
call fcn.00423e77
cmp byte [rbp], 0
je 0x421b09
mov qword [rsp + 0x40], 0
xor r14d, r14d
jmp 0x421e0e
inc rsi
jmp 0x421873
movups xmm1, xmmword [0x0043b140]
xor r8d, r8d
mov rdx, r13
mov rcx, r12
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0xb0], xmm0
call fcn.00405463
cmp byte [rbp], 0
mov rsi, rax
jne 0x422a63
test rax, rax
jle 0x421930
movups xmm3, xmmword [0x0043b040]
mov r8, rsi
mov rdx, r13
mov rcx, r12
movups xmm2, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0xa0], xmm3
movups xmmword [rsp + 0xb0], xmm2
call fcn.00405463
cmp byte [rbp], 0
mov rdi, rax
je 0x4219f2
jmp 0x422a63
lea rdx, [rdi + 0x18]
mov rcx, r12
lea r14, [rsp + 0x210]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
call fcn.00402a42
movups xmm4, xmmword [rsp + 0xb0]
mov rcx, r14
mov rdx, r12
movups xmm5, xmmword [0x0043b130]
movups xmmword [rsp + 0x210], xmm4
movups xmmword [rsp + 0xb0], xmm5
call fcn.004017c3
movups xmm6, xmmword [rsp + 0xf0]
mov rcx, r14
mov rdx, r12
movups xmmword [rsp + 0xb0], xmm6
call fcn.004017c3
movups xmm0, xmmword [0x0043b120]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xb0], xmm0
call fcn.004017c3
movups xmm1, xmmword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm1
call fcn.0040d0ab
mov rcx, r14
call fcn.00423ed7
cmp byte [rbp], 0
je 0x4218f1
jmp 0x422a63
test rax, rax
jg 0x421a3d
movups xmm3, xmmword [0x0043b080]
mov r8, rsi
mov rdx, r13
mov rcx, r12
movups xmm2, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0xa0], xmm3
movups xmmword [rsp + 0xb0], xmm2
call fcn.00405463
mov rdi, rax
test rax, rax
jle 0x421a71
movups xmm4, xmmword [0x0043b080]
movups xmmword [rsp + 0xb0], xmm4
jmp 0x421a4c
movups xmm5, xmmword [0x0043b040]
movups xmmword [rsp + 0xb0], xmm5
mov rcx, qword [rsp + 0xd0]
mov rdx, r12
add rsi, rdi
call fcn.00402957
mov r8, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
jmp 0x421aa4
movups xmm6, xmmword [0x0043b110]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040d0ab
cmp byte [rbp], 0
je 0x421a2c
jmp 0x422a63
mov al, byte [rcx + rsi + 8]
inc rsi
lea r9d, [rax - 9]
cmp r9b, 4
ja 0x421aae
mov rdx, rsi
cmp rsi, r8
jl 0x421a93
jmp 0x421ab2
cmp al, 0x20
je 0x421aa4
cmp byte [rbp], 0
jne 0x422a63
lea rsi, [rsp + 0x90]
mov r8d, 1
mov rcx, rsi
call fcn.0040b6e6
mov rdx, r13
mov rcx, r12
mov r8, rsi
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0xa0], xmm0
call fcn.0040b655
mov rax, qword [rsp + 0xd0]
mov rdx, r12
lea rcx, [rax + 0x10]
call fcn.00402957
jmp 0x421e3d
test rsi, rsi
je 0x421b1f
mov rax, qword [rsp + 0xf8]
cmp byte [rax + rsi + 8], 0x3a
jne 0x421b41
jmp 0x421b62
movups xmm1, xmmword [0x0043b100]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm1
call fcn.0040d0ab
cmp byte [rbp], 0
je 0x421b0e
jmp 0x42189c
movups xmm3, xmmword [0x0043b100]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm3
call fcn.0040d0ab
cmp byte [rbp], 0
jne 0x42189c
lea rdi, [rsp + 0x90]
lea rdx, [rsi + 1]
mov r8d, 1
mov rcx, rdi
call fcn.0040b6e6
mov r8, rdi
mov rdx, r13
mov rcx, r12
movups xmm2, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0xa0], xmm2
call fcn.0040b655
mov rax, qword [rsp + 0xb8]
mov rdx, r13
mov rcx, r12
lea r8, [0x0043b0e0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.00423692
cmp byte [rbp], 0
mov rdi, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
jne 0x421e0e
mov rax, qword [rsp + 0xd0]
movups xmm6, xmmword [rsp + 0x180]
mov r8, r13
mov rcx, r12
mov rsi, qword [rax + 0x20]
movups xmmword [rsp + 0xa0], xmm6
mov dl, byte [rsi + 8]
call fcn.00423d95
mov rax, qword [rsp + 0xb8]
cmp byte [rbp], 0
mov qword [rsp + 0x50], rax
jne 0x421dc3
mov rcx, qword [rsi]
mov rdx, r12
call fcn.0040bc8c
cmp byte [rbp], 0
jne 0x421dc3
mov dl, byte [rsi + 8]
mov r8, r13
mov rcx, r12
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
movups xmmword [rsp + 0xa0], xmm6
test al, al
je 0x421c8f
call fcn.00423d95
cmp byte [rbp], 0
mov r13, qword [rsp + 0xb8]
je 0x421d54
jmp 0x421dbb
call fcn.00423d95
mov r8, qword [rsp + 0xb0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xb8]
mov qword [rsp + 0x60], r8
jne 0x421dc3
mov ecx, 0x18
call fcn.00401dfb
lea rcx, [rsp + 0x210]
mov rdx, r12
mov qword [rax], 1
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r14
call fcn.00403531
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsi]
mov rdx, r12
mov r8, qword [rsp + 0x60]
movups xmm4, xmmword [rsp + 0x210]
movups xmmword [rax + 8], xmm4
mov qword [rsp + 0xb0], r8
mov r8, r13
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xa0], 1
mov qword [rsp + 0xa8], rax
call fcn.0040be33
cmp byte [rbp], 0
mov rcx, r15
je 0x421dbe
jmp 0x421dc3
mov rcx, qword [rsi]
mov rdx, r12
call fcn.0040bdba
cmp byte [rbp], 0
mov r15, rax
jne 0x421dbb
lea rcx, [rsp + 0x210]
mov rdx, r12
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r14
call fcn.00403531
movups xmm5, xmmword [rsp + 0x210]
mov rdx, r12
mov rcx, r15
movups xmmword [rsp + 0xb0], xmm5
call fcn.004048c3
mov rcx, r13
call fcn.00423ed7
mov rcx, qword [rsp + 0x50]
call fcn.00423ed7
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x421e0e
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x20]
mov rax, qword [rax]
cmp qword [rax + 0x10], 0x2710
jle 0x421e0e
movups xmm6, xmmword [0x0043b0c0]
lea rcx, [rsp + 0xb0]
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040d0ab
mov rcx, r14
call fcn.00423ed7
mov rcx, qword [rsp + 0x40]
call fcn.00423ed7
mov rcx, qword [rsp + 0x188]
call fcn.00423ed7
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x422a63
mov sil, 1
jmp 0x421781
mov rax, qword [0x0043f680]
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xb0], xmm0
call fcn.0040cb99
cmp byte [rbp], 0
mov rdi, rax
jne 0x422a63
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rsi + 0x38]
call fcn.00401ce6
test al, al
je 0x421e8a
mov rcx, qword [rsi + 0x38]
call fcn.0040229c
cmp byte [rsp + 0x48], 0
mov qword [rsi + 0x38], rdi
je 0x422a63
mov rcx, qword [rsp + 0xd0]
call fcn.0040d169
cmp byte [rbp], 0
jne 0x422a63
cmp rax, 0xcc
je 0x422a63
mov rax, qword [rsp + 0xd0]
lea r12, [rsp + 0xb0]
lea rsi, [rsp + 0x80]
lea r13, [rsp + 0xa0]
mov rdx, qword [rax + 0x38]
mov rax, qword [rsp + 0x330]
lea rcx, [rax + 0xf8]
call fcn.0040c8f1
mov rax, qword [rsp + 0xd0]
mov edx, 8
lea rcx, [rsp + 0xd8]
movups xmm6, xmmword [rax]
mov r14, qword [rax + 0x20]
mov qword [rsp + 0x100], 0
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 0
mov qword [rax + 0xd8], 0
mov qword [rax + 0xe0], 0
mov qword [rax + 0xe8], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
call fcn.004017f3
mov rdi, qword [rsp + 0x330]
mov ecx, 0x18
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x100], 1
mov qword [rdi + 0xf0], rax
call fcn.00401dfb
mov r9, rsi
mov r8, r13
mov rdx, r14
mov rdi, qword [0x0043f6b0]
mov qword [rax], 1
mov rcx, r12
mov qword [rsp + 0x108], rax
movups xmm1, xmmword [0x0043b0b0]
mov qword [rax + 8], 0
movups xmm2, xmmword [rsp + 0x100]
mov qword [rax + 0x10], rdi
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0x80], xmm2
call fcn.0040c781
movups xmm3, xmmword [rsp + 0xb0]
cmp byte [rbp], 0
movups xmmword [rsp + 0x110], xmm3
jne 0x422a11
mov rdx, qword [rsp + 0x118]
mov rcx, r12
xor r15d, r15d
call fcn.00423d4e
mov rax, qword [rsp + 0xb8]
cmp byte [rbp], 0
mov qword [rsp + 0x48], rax
jne 0x422a1d
movups xmm4, xmmword [0x0043b0a0]
mov rdx, r13
mov rcx, r12
movups xmmword [rsp + 0xa0], xmm4
call fcn.0040bc58
test al, al
jne 0x422162
mov ecx, 0x18
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x150], 1
call fcn.00401dfb
mov r9, rsi
mov r8, r13
mov rdx, r14
mov qword [rax], 1
movups xmm5, xmmword [0x0043b090]
mov rcx, r12
mov qword [rsp + 0x158], rax
mov qword [rax + 0x10], rdi
xor edi, edi
mov qword [rax + 8], 0
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rsp + 0xa0], xmm5
movups xmmword [rsp + 0x80], xmm0
call fcn.0040c781
movups xmm1, xmmword [rsp + 0xb0]
cmp byte [rbp], 0
movups xmmword [rsp + 0x140], xmm1
je 0x4223b4
jmp 0x4228de
test rsi, rsi
jne 0x422197
movups xmm6, xmmword [0x0043b000]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040d0ab
cmp byte [rdi], 0
je 0x422197
mov rcx, r15
call fcn.00423ed7
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x42239c
mov rax, qword [rsp + 0x330]
or r8, 0xffffffffffffffff
mov rcx, r12
mov rdx, qword [rax]
call fcn.0041fe10
mov rdi, qword [0x0043fa60]
mov rsi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xb8]
cmp byte [rdi], 0
je 0x422129
jmp 0x42214a
xor edi, edi
xor ebp, ebp
lea r9, [rsi + 0x14]
jmp 0x4221c7
mov al, byte [r15 + rdi + 8]
cmp al, 0x46
jg 0x4221db
cmp al, 0x40
jg 0x4221f0
cmp al, 0x39
jg 0x4221d1
cmp al, 0x2f
jle 0x422200
movzx edx, al
shl rbp, 4
sub rdx, 0x30
or rbp, rdx
inc rdi
cmp rsi, rdi
jg 0x4221a1
jmp 0x4222c5
cmp al, 0x3b
je 0x4222c5
jmp 0x422200
lea edx, [rax - 0x61]
cmp dl, 5
ja 0x422200
movzx edx, al
shl rbp, 4
sub rdx, 0x57
jmp 0x4221c1
movzx edx, al
shl rbp, 4
lea rax, [rdx - 0x37]
or rbp, rax
jmp 0x4221c4
mov rdx, r9
mov rcx, rbx
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
call fcn.00402a42
movups xmm2, xmmword [rsp + 0xb0]
movups xmm3, xmmword [0x0043b010]
mov rdx, rbx
lea rcx, [rsp + 0x210]
movups xmmword [rsp + 0x210], xmm2
movups xmmword [rsp + 0xb0], xmm3
mov qword [rsp + 0x40], rcx
call fcn.004017c3
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], r15
call fcn.004017c3
mov r10, qword [rsp + 0x218]
movups xmm4, xmmword [rsp + 0x210]
mov rcx, rbx
mov qword [rsp + 0x40], r10
movups xmmword [rsp + 0xb0], xmm4
call fcn.0040d0ab
mov r10, qword [rsp + 0x40]
mov rcx, r10
call fcn.00423ed7
mov rax, qword [0x0043fa60]
mov r9, qword [rsp + 0x50]
cmp byte [rax], 0
je 0x4221c4
jmp 0x42214a
mov rax, qword [rsp + 0x330]
test rbp, rbp
mov rsi, qword [0x0043fa60]
mov r8, qword [rax + 0xb8]
jle 0x4222fb
mov r9d, 1
mov rdx, rbp
mov rcx, rax
call fcn.0040d1df
cmp byte [rsi], 0
je 0x422323
jmp 0x42214a
mov rcx, qword [rsp + 0x330]
xor r9d, r9d
mov edx, 2
call fcn.0040d1df
cmp byte [rsi], 0
jne 0x42214a
mov rcx, r15
call fcn.00423ed7
jmp 0x42239c
cmp rbp, rax
jne 0x42237b
mov rax, qword [rsp + 0x330]
xor r9d, r9d
mov edx, 2
mov r8, qword [rax + 0xb8]
mov rcx, rax
call fcn.0040d1df
cmp rax, 2
je 0x42214a
cmp byte [rsi], 0
jne 0x42214a
movups xmm6, xmmword [0x0043b000]
lea rcx, [rsp + 0xb0]
movups xmmword [rsp + 0xb0], xmm6
call fcn.0040d0ab
jmp 0x42214a
movups xmm5, xmmword [0x0043b000]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm5
call fcn.0040d0ab
cmp byte [rsi], 0
je 0x422328
jmp 0x42214a
mov rax, qword [0x0043fa60]
xor r15d, r15d
cmp byte [rax], 0
je 0x422913
jmp 0x422a1d
mov rdx, qword [rsp + 0x148]
mov rcx, r12
call fcn.00423d4e
cmp byte [rbp], 0
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
jne 0x4228de
test rax, rax
mov rsi, qword [0x0043fa60]
jne 0x42247f
movups xmm0, xmmword [0x0043b080]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
movups xmmword [rsp + 0xb0], xmm6
movups xmmword [rsp + 0xa0], xmm0
call fcn.0040bc58
mov ebx, eax
test al, al
je 0x4226a9
jmp 0x422791
mov rdx, qword [rsp + 0x148]
mov rcx, r12
call fcn.00423d4e
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xb8]
jne 0x42269c
mov rcx, r12
call fcn.004058fc
cmp byte [rsi], 0
mov rbp, rax
jne 0x42269c
mov rax, qword [rsp + 0x330]
mov qword [rax + 0xd8], rbp
test rbp, rbp
jle 0x42269c
mov r8, qword [rax + 0xb8]
mov r9d, 1
mov rdx, rbp
mov rcx, rax
call fcn.0040d1df
cmp byte [rsi], 0
mov r15, rax
jne 0x42269c
test rax, rax
jne 0x42252d
mov rcx, qword [rsp + 0x330]
call fcn.0040cf7c
cmp byte [rsi], 0
jne 0x42269c
movups xmm1, xmmword [0x0043b070]
mov rcx, r12
movups xmmword [rsp + 0xb0], xmm1
call fcn.0040d0ab
cmp byte [rsi], 0
je 0x422536
jmp 0x42269c
cmp rbp, rax
je 0x42269c
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
call fcn.004039b3
mov rax, qword [0x0043fa60]
mov rbp, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
cmp byte [rax], 0
jne 0x422676
mov rdx, r15
mov rcx, r12
call fcn.004039b3
mov rdx, qword [rsp + 0xb8]
xor r8d, r8d
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x40], rdx
mov rdx, qword [0x0043fa60]
cmp byte [rdx], 0
jne 0x422682
lea rdx, [rbp + rax + 0x3c]
mov rcx, r12
mov qword [rsp + 0x50], rax
lea r15, [rsp + 0x210]
call fcn.00402a42
movups xmm2, xmmword [rsp + 0xb0]
mov rdx, r12
mov rcx, r15
movups xmm3, xmmword [0x0043b060]
movups xmmword [rsp + 0x210], xmm2
movups xmmword [rsp + 0xb0], xmm3
call fcn.004017c3
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], rsi
call fcn.004017c3
movups xmm4, xmmword [0x0043b050]
mov rdx, r12
mov rcx, r15
movups xmmword [rsp + 0xb0], xmm4
call fcn.004017c3
mov rax, qword [rsp + 0x50]
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xb8], rax
call fcn.004017c3
mov r8, qword [rsp + 0x218]
movups xmm5, xmmword [rsp + 0x210]
mov rcx, r12
mov qword [rsp + 0x50], r8
movups xmmword [rsp + 0xb0], xmm5
call fcn.0040d0ab
mov r8, qword [rsp + 0x50]
jmp 0x422682
mov qword [rsp + 0x40], 0
xor r8d, r8d
mov rcx, r8
call fcn.00423ed7
mov rcx, qword [rsp + 0x40]
call fcn.00423ed7
mov rcx, rsi
call fcn.00423ed7
mov rcx, rbx
call fcn.00423ed7
jmp 0x4228de
movups xmmword [rsp + 0xb0], xmm6
mov rdx, r13
mov rcx, r12
xor ebp, ebp
movups xmm6, xmmword [0x0043b040]
movups xmmword [rsp + 0xa0], xmm6
call fcn.0040bc58
mov ebx, eax
test al, al
je 0x422793
mov ecx, 0x18
xor r15d, r15d
mov qword [rsp + 0x160], 1
call fcn.00401dfb
mov rdx, qword [0x0043f6b0]
mov r8, r13
mov rcx, r12
mov qword [rax], 1
movups xmm0, xmmword [0x0043b030]
lea r9, [rsp + 0x80]
mov qword [rsp + 0x168], rax
mov qword [rax + 0x10], rdx
mov rdx, r14
mov qword [rax + 8], 0
movups xmm1, xmmword [rsp + 0x160]
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x80], xmm1
call fcn.0040c781
movups xmm2, xmmword [rsp + 0xb0]
cmp byte [rsi], 0
movups xmmword [rsp + 0x170], xmm2
jne 0x42289a
mov rdx, qword [rsp + 0x178]
mov rcx, r12
call fcn.00423d4e
cmp byte [rsi], 0
mov rax, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
jne 0x42289a
test rax, rax
sete bl
jmp 0x422793
xor ebp, ebp
mov ecx, 0x18
xor r15d, r15d
mov qword [rsp + 0x180], 1
call fcn.00401dfb
mov rdx, qword [0x0043f6b0]
mov r8, r13
mov rcx, r12
mov qword [rax], 1
movups xmm3, xmmword [0x0043b030]
lea r9, [rsp + 0x80]
mov qword [rsp + 0x188], rax
mov qword [rax + 0x10], rdx
mov rdx, r14
mov qword [rax + 8], 0
movups xmm4, xmmword [rsp + 0x180]
movups xmmword [rsp + 0xa0], xmm3
movups xmmword [rsp + 0x80], xmm4
call fcn.0040c781
mov rsi, qword [0x0043fa60]
movups xmm5, xmmword [rsp + 0xb0]
cmp byte [rsi], 0
movups xmmword [rsp + 0x210], xmm5
jne 0x42289a
mov rdx, qword [rsp + 0x218]
mov rcx, r12
call fcn.00423d4e
cmp byte [rsi], 0
mov r15, qword [rsp + 0xb8]
jne 0x42289a
movups xmm6, xmmword [0x0043b020]
mov rdx, r13
mov rcx, r12
movups xmmword [rsp + 0xa0], xmm6
call fcn.0040bc58
test al, al
jne 0x42285e
test bl, bl
je 0x42289a
mov rax, qword [rsp + 0x330]
mov r9d, 1
mov edx, 0xfa0
mov r8, qword [rax + 0xb8]
mov rcx, rax
call fcn.0040d1df
cmp byte [rsi], 0
jne 0x42289a
cmp rax, 0xfa0
je 0x42285e
mov rcx, qword [rsp + 0x330]
call fcn.0040cf7c
mov rcx, r15
call fcn.00423ed7
lea rcx, [rsp + 0x210]
call fcn.0040661f
lea rcx, [rsp + 0x180]
call fcn.00404737
mov rcx, rbp
call fcn.00423ed7
lea rcx, [rsp + 0x170]
call fcn.0040661f
lea rcx, [rsp + 0x160]
call fcn.00404737
mov rcx, rdi
xor r15d, r15d
call fcn.00423ed7
lea rcx, [rsp + 0x150]
call fcn.00404737
lea rcx, [rsp + 0x140]
call fcn.0040661f
mov rax, qword [0x0043fa60]
cmp byte [rax], 0
jne 0x422a1d
mov rax, qword [rsp + 0x330]
xor edx, edx
xor r15d, r15d
mov rax, qword [rax + 0xf8]
mov rcx, rax
call qword [rax + 0x18]
mov rbx, qword [0x0043fa60]
cmp byte [rbx], 0
jne 0x422a1d
mov ecx, 0x18
lea r12, [rsp + 0xb0]
mov qword [rsp + 0x120], 1
call fcn.00401dfb
mov rdx, qword [0x0043f6b0]
mov r8, r13
mov rcx, r12
mov qword [rax], 1
movups xmm0, xmmword [0x0043b030]
lea r9, [rsp + 0x80]
mov qword [rsp + 0x128], rax
mov qword [rax + 0x10], rdx
mov rdx, r14
mov qword [rax + 8], 0
movups xmm1, xmmword [rsp + 0x120]
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x80], xmm1
call fcn.0040c781
movups xmm2, xmmword [rsp + 0xb0]
cmp byte [rbx], 0
movups xmmword [rsp + 0x130], xmm2
jne 0x422a1d
mov rdx, qword [rsp + 0x138]
mov rcx, r12
call fcn.00423d4e
cmp byte [rbx], 0
mov r15, qword [rsp + 0xb8]
jne 0x422a1d
movups xmm3, xmmword [0x0043b020]
mov rdx, r13
mov rcx, r12
movups xmmword [rsp + 0xa0], xmm3
call fcn.0040bc58
test al, al
je 0x422a1d
mov rcx, qword [rsp + 0x330]
call fcn.0040cf7c
jmp 0x422a1d
mov qword [rsp + 0x48], 0
xor r15d, r15d
mov rcx, r15
call fcn.00423ed7
lea rcx, [rsp + 0x130]
call fcn.0040661f
lea rcx, [rsp + 0x120]
call fcn.00404737
mov rcx, qword [rsp + 0x48]
call fcn.00423ed7
lea rcx, [rsp + 0x110]
call fcn.0040661f
lea rcx, [rsp + 0x100]
call fcn.00404737
mov rcx, qword [rsp + 0xf8]
call fcn.00423ed7
mov r12, qword [rsp + 0xd0]
jmp 0x422b75
xor r12d, r12d
jmp 0x422b75
test al, al
je 0x422a96
mov edx, 0x2f
mov rcx, r13
call fcn.00402ca6
mov rdx, qword [rbp + 0x50]
mov rcx, r13
call fcn.00402bfd
movups xmm0, xmmword [rbp + 0x50]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xb0], xmm0
call fcn.004017c3
mov rdx, qword [rbp + 0x60]
test rdx, rdx
jle 0x420dc7
inc rdx
mov rcx, r12
lea r14, [rsp + 0x210]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
call fcn.00402a42
movups xmm1, xmmword [rsp + 0xb0]
mov rdx, r12
mov rcx, r14
movups xmm2, xmmword [0x0043b2c0]
movups xmmword [rsp + 0x210], xmm1
movups xmmword [rsp + 0xb0], xmm2
call fcn.004017c3
movups xmm3, xmmword [rbp + 0x60]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xb0], xmm3
call fcn.004017c3
mov r15, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
mov rcx, r13
mov rdx, r15
call fcn.00402bfd
mov rcx, r13
mov rdx, r12
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xb8], r14
call fcn.004017c3
mov rcx, r14
call fcn.00423ed7
jmp 0x420dc7
mov rcx, qword [rsp + 0x30]
call fcn.00423ed7
lea rcx, [rsp + 0xe0]
call fcn.00404737
lea rcx, [rsp + 0xc8]
call fcn.0040c5bc
nop
movups xmm6, xmmword [rsp + 0x2d0]
mov rax, r12
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret