Function at 0x417746
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, 0x198
mov rax, qword [rdx]
mov dword [rsp + 0x4c], r8d
mov r12, rcx
mov rbp, rdx
mov qword [rsp + 0x1f8], r9
test rax, rax
je 0x41777a
cmp qword [rax], 0
jne 0x4177f6
mov rcx, qword [0x00428e10]
mov edx, 0x30
call fcn.004042f3
lea rcx, [0x004281c0]
mov r13, rax
mov rax, qword [0x00428f60]
mov r14, qword [r13 + 0x18]
mov qword [r13], rax
lea rax, str.ValueError
mov qword [r13 + 0x10], rax
call fcn.004044e1
mov qword [r13 + 0x18], rax
test r14, r14
je 0x4177c5
mov rcx, r14
call fcn.00403751
lea rcx, [r13 + 8]
xor edx, edx
call fcn.004036fc
lea r9, str.httpclient.nim
lea r8, str.requestAux
mov rcx, r13
mov qword [rsp + 0x20], 0x3eb
lea rdx, str.ValueError
call fcn.00405340
mov rdx, qword [rbp + 0x18]
mov rcx, qword [r12 + 0x28]
call fcn.0040900f
test al, al
je 0x417838
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rbp]
call fcn.0040900f
test al, al
je 0x417838
mov rdx, qword [rbp + 0x20]
mov rcx, qword [r12 + 0x30]
call fcn.0040900f
test al, al
je 0x417838
cmp byte [r12 + 8], 0
jne 0x417d75
lea r13, [rsp + 0x88]
mov edx, 0x48
mov rcx, r13
mov rdi, r13
call fcn.00402b37
mov rsi, qword [r12 + 0x78]
mov ecx, 0x12
test rsi, rsi
jne 0x417862
mov rsi, rbp
rep movsd dword [rdi], dword [rsi]
mov rcx, qword [rsp + 0x88]
call fcn.00408c58
lea rdx, [0x004280f0]
mov rcx, rax
call fcn.0040900f
mov ebx, eax
test al, al
je 0x417902
mov rcx, qword [0x00428d90]
mov edx, 0x30
call fcn.004042f3
lea rcx, [0x00428080]
mov r13, rax
mov rax, qword [0x00428a00]
mov r14, qword [r13 + 0x18]
mov qword [r13], rax
lea rax, str.HttpRequestError
mov qword [r13 + 0x10], rax
call fcn.004044e1
mov qword [r13 + 0x18], rax
test r14, r14
je 0x4178d1
mov rcx, r14
call fcn.00403751
lea rcx, [r13 + 8]
xor edx, edx
call fcn.004036fc
lea r9, str.httpclient.nim
lea r8, str.newConnection
mov rcx, r13
mov qword [rsp + 0x20], 0x376
lea rdx, str.HttpRequestError
call fcn.00405340
cmp byte [r12 + 8], 0
je 0x417918
mov rcx, r12
call fcn.0040d9be
mov byte [r12 + 8], 0
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x417934
cmp qword [rcx], 0
je 0x417934
call fcn.00408ce3
mov ebx, eax
jmp 0x417943
cmp bl, 1
sbb ebx, ebx
and bx, 0xfe95
add bx, 0x1bb
lea rsi, [rsp + 0xd0]
mov edx, 0x30
mov r13, qword [rsp + 0xa0]
mov qword [rsp + 0x78], 0
mov rcx, rsi
call fcn.00402b37
mov eax, 1
mov ecx, 6
mov qword [rsp + 0x78], 0
shl rax, 0x20
mov qword [rsp + 0xd4], rax
call fcn.0040d71a
movzx edx, bx
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x80], 0
mov dword [rsp + 0xdc], eax
call fcn.00404d60
mov rax, qword [0x004285a0]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rax]
call fcn.00402a52
mov rcx, r13
mov r14, rax
call fcn.00402a52
lea r9, [rsp + 0x78]
mov r8, rsi
mov rdx, r14
mov rcx, rax
call rbx
test eax, eax
je 0x4179f4
call fcn.0040d698
xor edx, edx
mov ecx, eax
call fcn.0040f113
mov rax, qword [rsp + 0x78]
mov edx, 0xc0
mov rcx, rsi
mov qword [rsp + 0x40], rax
call fcn.00402b37
mov rax, qword [0x00429200]
mov rdx, qword [rax]
xor eax, eax
mov qword [rsi + rax*8], rdx
inc rax
cmp rax, 0x18
jne 0x417a17
mov dword [rsp + 0x38], 0
mov rsi, qword [rsp + 0x40]
xor ebx, ebx
xor edi, edi
test rsi, rsi
je 0x417b7e
mov r14d, dword [rsi + 4]
lea rcx, [rsp + 0x78]
mov edx, 2
call fcn.00402b37
test r14d, r14d
je 0x417a5e
cmp r14d, 2
jne 0x417a62
jmp 0x417a83
xor ecx, ecx
jmp 0x417a8f
cmp r14d, 0x17
je 0x417a8a
lea rcx, [rsp + 0x80]
mov edx, 2
call fcn.00402b37
mov eax, dword [rsp + 0x80]
jmp 0x417a94
mov ecx, 2
jmp 0x417a8f
mov ecx, 0x17
call fcn.0040eaec
mov word [rsp + 0x78], ax
mov r15b, byte [rsp + 0x79]
mov r14b, byte [rsp + 0x78]
test r15b, r15b
je 0x417aca
movzx eax, r14b
movzx edi, r14b
mov rbx, qword [rsp + rax*8 + 0xd0]
mov rax, qword [0x00429200]
cmp rbx, qword [rax]
jne 0x417b51
jmp 0x417ad3
mov rsi, qword [rsi + 0x28]
jmp 0x417a35
mov r8d, 6
mov edx, 1
mov ecx, edi
call fcn.00411c78
mov rbx, rax
mov rax, qword [0x00429200]
cmp rbx, qword [rax]
jne 0x417b46
call fcn.0040d698
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x50], eax
mov rax, qword [0x004285b0]
call qword [rax]
xor eax, eax
mov rdx, qword [0x00429200]
mov rcx, qword [rsp + rax*8 + 0xd0]
cmp rcx, qword [rdx]
je 0x417b30
mov qword [rsp + 0x58], rax
call fcn.0040d713
mov rax, qword [rsp + 0x58]
cmp rax, 0x17
je 0x417b3b
inc rax
jmp 0x417b0d
mov ecx, dword [rsp + 0x50]
xor edx, edx
call fcn.0040f113
movsxd rax, edi
mov qword [rsp + rax*8 + 0xd0], rbx
mov rax, qword [0x00428570]
mov rdx, qword [rsi + 0x20]
mov rcx, rbx
mov r8d, dword [rsi + 0x10]
call qword [rax]
test eax, eax
je 0x417b83
call fcn.0040d698
mov edi, r14d
mov rsi, qword [rsi + 0x28]
mov dword [rsp + 0x38], eax
jmp 0x417a35
xor r15d, r15d
jmp 0x417b86
mov edi, r14d
mov rax, qword [0x004285b0]
mov rcx, qword [rsp + 0x40]
xor esi, esi
movzx r14d, dil
call qword [rax]
mov rax, qword [0x00429200]
mov rcx, qword [rsp + rsi*8 + 0xd0]
cmp rcx, qword [rax]
je 0x417bb8
cmp rsi, r14
je 0x417bb8
call fcn.0040d713
cmp rsi, 0x17
je 0x417bc3
inc rsi
jmp 0x417b9a
test r15b, r15b
jne 0x417bd1
cmp dword [rsp + 0x38], 0
je 0x417c0c
jmp 0x417c49
mov rcx, qword [0x00428ee0]
mov edx, 0xfc8
call fcn.004042f3
mov qword [rax], rbx
mov rdx, rax
mov byte [rax + 8], 1
mov byte [rax + 0xfc4], dil
mov word [rax + 0xfc5], 0x601
mov qword [rax + 0xfb0], 0
jmp 0x417cb7
mov rcx, qword [0x00428db0]
mov edx, 0x30
call fcn.004042f3
mov ecx, 0x1a
mov r14, rax
mov rax, qword [0x00428a70]
mov qword [r14], rax
lea rax, str.IOError
mov qword [r14 + 0x10], rax
test r13, r13
je 0x417c56
mov rax, qword [r13]
lea rcx, [rax + 0x1a]
jmp 0x417c56
mov ecx, dword [rsp + 0x38]
xor edx, edx
call fcn.0040f113
jmp 0x417cb5
call fcn.004045b4
lea rdx, [0x00428040]
mov r15, rax
mov rcx, rax
call fcn.00402a2c
mov rdx, r13
mov rcx, r15
call fcn.00402a69
lea rcx, [r14 + 0x18]
mov rdx, r15
call fcn.004036fc
lea rcx, [r14 + 8]
xor edx, edx
call fcn.004036fc
lea r9, str.net.nim
lea r8, str.dial
mov rcx, r14
mov qword [rsp + 0x20], 0x7ea
lea rdx, str.IOError
call fcn.00405340
xor edx, edx
mov rcx, r12
call fcn.004036fc
mov rcx, qword [rbp]
lea rdx, [0x004280f0]
call fcn.0040900f
test al, al
je 0x417d5b
cmp qword [r12 + 0x78], 0
je 0x417d5b
mov rcx, qword [0x00428d90]
mov edx, 0x30
call fcn.004042f3
lea rcx, [0x00428080]
mov r13, rax
mov rax, qword [0x00428a00]
mov r14, qword [r13 + 0x18]
mov qword [r13], rax
lea rax, str.HttpRequestError
mov qword [r13 + 0x10], rax
call fcn.004044e1
mov qword [r13 + 0x18], rax
test r14, r14
je 0x417d2a
mov rcx, r14
call fcn.00403751
lea rcx, [r13 + 8]
xor edx, edx
call fcn.004036fc
lea r9, str.httpclient.nim
lea r8, str.newConnection
mov rcx, r13
mov qword [rsp + 0x20], 0x3a9
lea rdx, str.HttpRequestError
call fcn.00405340
mov r8, qword [0x00428f50]
lea rcx, [r12 + 0x10]
mov rdx, rbp
call fcn.00407d48
mov byte [r12 + 8], 1
mov rcx, qword [r12 + 0x58]
call fcn.00414641
lea rdx, [0x004281a0]
mov rcx, rax
mov rbx, rax
call fcn.0040d8b7
test al, al
jne 0x417de2
cmp qword [rsp + 0x1f8], 0
je 0x417db0
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rax]
test rcx, rcx
jne 0x417dcb
mov cl, byte [rsp + 0x4c]
mov eax, 3
and ecx, 0xf
sar eax, cl
test al, 1
jne 0x417de2
lea r8, [0x00428180]
jmp 0x417dd3
call fcn.00404e81
mov r8, rax
lea rdx, [0x004281a0]
mov rcx, rbx
call fcn.0040ee44
lea rdx, [0x00428160]
mov rcx, rbx
call fcn.0040d8b7
test al, al
jne 0x417e09
mov r8, qword [r12 + 0x68]
test r8, r8
je 0x417e09
cmp qword [r8], 0
jg 0x419127
mov rdx, qword [0x004289f0]
mov rsi, qword [r12 + 0x78]
movzx ecx, byte [rsp + 0x4c]
mov rax, qword [rdx + 0x20]
mov r8, qword [rax + 0x28]
test byte [rdx + 0x11], 4
je 0x417e33
mov rdx, qword [rax + 0x20]
xor eax, eax
dec rdx
jmp 0x417e5c
mov rdx, qword [r8]
mov rdi, rcx
sub rdi, qword [rdx + 8]
js 0x417e71
cmp rdi, qword [rax + 0x20]
jae 0x417e71
mov rax, qword [r8 + rdi*8]
mov rcx, qword [rax + 0x18]
jmp 0x417e67
mov r9, qword [r8 + rax*8]
cmp rcx, qword [r9 + 8]
je 0x417e63
inc rax
cmp rdx, rax
jge 0x417e4f
jmp 0x417e71
mov rcx, qword [r9 + 0x18]
call fcn.004042af
mov r13, rax
jmp 0x417eac
call fcn.00404e81
mov ecx, 0x10
mov r14, rax
test rax, rax
je 0x417e8a
mov rax, qword [rax]
lea rcx, [rax + 0x10]
call fcn.004045b4
mov rdx, r14
mov r13, rax
mov rcx, rax
call fcn.00402a69
lea rdx, [0x00427d80]
mov rcx, r13
call fcn.00402a2c
mov rcx, r13
mov edx, 0x20
call fcn.00404666
mov r13, rax
test rsi, rsi
je 0x417f25
mov rcx, qword [rbp]
lea rdx, [0x004280f0]
call fcn.0040900f
test al, al
jne 0x417f25
lea r14, [rsp + 0xd0]
mov edx, 0x48
mov rcx, r14
call fcn.00402b37
mov r8, qword [0x00428f50]
mov rdx, rbp
mov rcx, r14
call fcn.00407d48
mov rcx, qword [rbp]
lea rdx, [0x004280f0]
call fcn.0040900f
test al, al
je 0x417fca
mov qword [rsp + 0xd0], 0
jmp 0x417fca
mov rcx, qword [rbp + 0x28]
lea rdx, [0x00428020]
call fcn.00408ca9
test al, al
jne 0x417f49
mov rcx, r13
mov edx, 0x2f
call fcn.00404666
mov r13, rax
mov rax, qword [rbp + 0x28]
xor edx, edx
test rax, rax
je 0x417f57
mov rdx, qword [rax]
mov rcx, r13
call fcn.004045e7
mov rdx, qword [rbp + 0x28]
mov rcx, rax
mov r13, rax
call fcn.00402a69
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x4183c7
mov rcx, qword [rax]
test rcx, rcx
jle 0x4183c7
inc rcx
call fcn.004045b4
lea rdx, [0x00428000]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rdx, qword [rbp + 0x30]
mov rcx, r14
call fcn.00402a69
xor edx, edx
test r14, r14
je 0x417fb7
mov rdx, qword [r14]
mov rcx, r13
call fcn.004045e7
mov rdx, r14
mov r13, rax
jmp 0x4183bf
mov r15, qword [rsp + 0xd0]
test r15, r15
je 0x41803d
mov rcx, qword [r15]
xor r15d, r15d
test rcx, rcx
jle 0x41803d
call fcn.0040427c
mov rdx, qword [rsp + 0xd0]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.00402a69
cmp byte [rsp + 0x110], 0
mov rcx, qword [rsp + 0x38]
jne 0x418021
mov edx, 3
call fcn.004045e7
lea rdx, [0x00427e70]
mov r15, rax
jmp 0x418035
mov edx, 1
call fcn.004045e7
lea rdx, [0x00427e50]
mov r15, rax
mov rcx, r15
call fcn.00402a2c
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x4180f3
mov rdx, qword [rax]
test rdx, rdx
jle 0x4180f3
mov rcx, r15
call fcn.004045e7
mov rdx, qword [rsp + 0xd8]
mov rcx, rax
mov r14, rax
call fcn.00402a69
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x4180d4
cmp qword [rax], 0
jle 0x4180d4
mov rcx, r14
mov edx, 1
call fcn.004045e7
lea rdx, [0x00427e50]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rax, qword [rsp + 0xe0]
xor edx, edx
test rax, rax
je 0x4180b9
mov rdx, qword [rax]
mov rcx, r14
call fcn.004045e7
mov rdx, qword [rsp + 0xe0]
mov rcx, rax
mov r14, rax
call fcn.00402a69
mov edx, 1
mov rcx, r14
call fcn.004045e7
lea rdx, [0x00427e30]
mov rcx, rax
mov r15, rax
call fcn.00402a2c
mov rcx, qword [rsp + 0xe8]
mov al, byte [rsp + 0x111]
test rcx, rcx
je 0x4181fb
mov rdx, qword [rcx]
test rdx, rdx
jle 0x4181a3
cmp byte [rcx + rdx + 0xf], 0x2f
jne 0x4181a3
xor edx, edx
lea r14, [rsp + 0x60]
test al, al
mov r8d, 2
mov rcx, r14
jne 0x41815e
call fcn.0040da5d
mov rcx, qword [rsp + 0xe8]
mov rdx, r14
call fcn.0040d865
xor edx, edx
mov r14, rax
test rax, rax
jne 0x4181e8
jmp 0x4181eb
call fcn.0040da5d
mov rcx, qword [rsp + 0xe8]
mov rdx, r14
call fcn.0040d865
mov ecx, 2
mov rdi, rax
test rax, rax
je 0x418187
mov rax, qword [rax]
lea rcx, [rax + 2]
call fcn.004045b4
lea rdx, [0x00427e10]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rdx, rdi
jmp 0x4181ca
test al, al
je 0x418206
lea rcx, [rdx + 2]
call fcn.004045b4
lea rdx, [0x00427e10]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rdx, qword [rsp + 0xe8]
mov rcx, r14
call fcn.00402a69
lea rdx, [0x00427df0]
mov rcx, r14
call fcn.00402a2c
xor edx, edx
test r14, r14
je 0x4181eb
mov rdx, qword [r14]
mov rcx, r15
call fcn.004045e7
mov rdx, r14
mov r15, rax
jmp 0x418219
mov ecx, 2
xor edx, edx
test al, al
jne 0x4181ab
mov rcx, r15
call fcn.004045e7
mov rdx, qword [rsp + 0xe8]
mov r15, rax
mov rcx, r15
call fcn.00402a69
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x418280
cmp qword [rax], 0
jle 0x418280
mov edx, 1
mov rcx, r15
call fcn.004045e7
lea rdx, [0x00427e50]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rax, qword [rsp + 0xf0]
xor edx, edx
test rax, rax
je 0x418265
mov rdx, qword [rax]
mov rcx, r14
call fcn.004045e7
mov rdx, qword [rsp + 0xf0]
mov rcx, rax
mov r15, rax
call fcn.00402a69
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x4182e9
cmp qword [rax], 0
jle 0x4182e9
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x4182bc
cmp qword [rdx], 0
jle 0x4182bc
cmp byte [rax + 0x10], 0x2f
je 0x4182bc
mov rcx, r15
mov edx, 0x2f
call fcn.00404666
mov r15, rax
mov rax, qword [rsp + 0xf8]
xor edx, edx
test rax, rax
je 0x4182ce
mov rdx, qword [rax]
mov rcx, r15
call fcn.004045e7
mov rdx, qword [rsp + 0xf8]
mov rcx, rax
mov r15, rax
call fcn.00402a69
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x418348
cmp qword [rax], 0
jle 0x418348
mov edx, 1
mov rcx, r15
call fcn.004045e7
lea rdx, [0x00427dd0]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rax, qword [rsp + 0x100]
xor edx, edx
test rax, rax
je 0x41832d
mov rdx, qword [rax]
mov rcx, r14
call fcn.004045e7
mov rdx, qword [rsp + 0x100]
mov rcx, rax
mov r15, rax
call fcn.00402a69
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x4183a7
cmp qword [rax], 0
jle 0x4183a7
mov edx, 1
mov rcx, r15
call fcn.004045e7
lea rdx, [0x00427db0]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rax, qword [rsp + 0x108]
xor edx, edx
test rax, rax
je 0x41838c
mov rdx, qword [rax]
mov rcx, r14
call fcn.004045e7
mov rdx, qword [rsp + 0x108]
mov rcx, rax
mov r15, rax
call fcn.00402a69
xor edx, edx
test r15, r15
je 0x4183b1
mov rdx, qword [r15]
mov rcx, r13
call fcn.004045e7
mov rdx, r15
mov r13, rax
mov rcx, r13
call fcn.00402a69
mov rcx, r13
mov edx, 0xb
call fcn.004045e7
lea rdx, [0x00427fe0]
mov rcx, rax
mov r13, rax
call fcn.00402a2c
mov rdx, qword [0x00428f90]
mov rcx, rbx
call fcn.0040d8b7
test al, al
jne 0x4184bc
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x18]
test rdx, rdx
je 0x41841c
mov rdx, qword [rdx]
test rdx, rdx
je 0x41841c
test rax, rax
je 0x41844a
mov rax, qword [rax]
jmp 0x41844a
mov ecx, 8
test rax, rax
je 0x41842d
mov rcx, qword [rax]
add rcx, 8
call fcn.004045b4
lea rdx, [0x00427fc0]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rdx, qword [rbp + 0x18]
jmp 0x418485
lea rcx, [rdx + rax + 9]
call fcn.004045b4
lea rdx, [0x00427fc0]
mov rcx, rax
mov r14, rax
call fcn.00402a2c
mov rdx, qword [rbp + 0x18]
mov rcx, r14
call fcn.00402a69
lea rdx, [0x00427fa0]
mov rcx, r14
call fcn.00402a2c
mov rdx, qword [rbp + 0x20]
mov rcx, r14
call fcn.00402a69
lea rdx, [0x00428110]
mov rcx, r14
call fcn.00402a2c
xor edx, edx
test r14, r14
je 0x4184a6
mov rdx, qword [r14]
mov rcx, r13
call fcn.004045e7
mov rdx, r14
mov rcx, rax
mov r13, rax
call fcn.00402a69
lea rdx, [0x00427f80]
mov rcx, rbx
call fcn.0040d8b7
test al, al
jne 0x4184ee
mov rcx, r13
mov edx, 0x18
call fcn.004045e7
lea rdx, [0x00427f40]
mov rcx, rax
mov r13, rax
call fcn.00402a2c
test rsi, rsi
je 0x4186af
mov rsi, qword [rsi + 0x48]
test rsi, rsi
je 0x4186af
mov rax, qword [rsi]
test rax, rax
je 0x4186af
shl rax, 2
mov edi, 3
xor ecx, ecx
cqo
idiv rdi
lea rdx, [rax + 6]
call fcn.00404cb4
mov r9, qword [rsi]
xor r8d, r8d
xor r11d, r11d
mov rcx, rax
mov rax, qword [rsi]
cqo
idiv rdi
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
sub r9, rdx
cmp r9, r11
je 0x4185af
movzx eax, byte [rsi + r11 + 0x10]
movzx r10d, byte [rsi + r11 + 0x11]
shl eax, 0x10
shl r10d, 8
or eax, r10d
movzx r10d, byte [rsi + r11 + 0x12]
add r11, 3
mov ebp, eax
shr ebp, 0x12
or r10d, eax
shr eax, 0xc
mov bpl, byte [rdi + rbp]
and eax, 0x3f
mov byte [rcx + r8 + 0x10], bpl
mov al, byte [rdi + rax]
mov byte [rcx + r8 + 0x11], al
mov eax, r10d
and r10d, 0x3f
shr eax, 6
and eax, 0x3f
mov al, byte [rdi + rax]
mov byte [rcx + r8 + 0x12], al
mov al, byte [rdi + r10]
mov byte [rcx + r8 + 0x13], al
add r8, 4
jmp 0x418547
cmp rdx, 1
je 0x418608
cmp rdx, 2
jne 0x418642
movzx edx, byte [rsi + r9 + 0x10]
movzx eax, byte [rsi + r9 + 0x11]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
shl edx, 0x10
shl eax, 8
or eax, edx
shr edx, 0x12
mov dl, byte [r9 + rdx]
mov byte [rcx + r8 + 0x10], dl
mov edx, eax
shr eax, 6
shr edx, 0xc
and eax, 0x3c
and edx, 0x3f
mov dl, byte [r9 + rdx]
mov byte [rcx + r8 + 0x11], dl
mov al, byte [r9 + rax]
mov byte [rcx + r8 + 0x12], al
jmp 0x418638
movzx eax, byte [rsi + r9 + 0x10]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov edx, eax
shl eax, 4
shr edx, 2
and eax, 0x30
mov dl, byte [r9 + rdx]
mov byte [rcx + r8 + 0x10], dl
mov al, byte [r9 + rax]
mov byte [rcx + r8 + 0x12], 0x3d
mov byte [rcx + r8 + 0x11], al
mov byte [rcx + r8 + 0x13], 0x3d
add r8, 4
mov rdx, r8
call fcn.00404cb4
mov ecx, 0x1d
mov r14, rax
test rax, rax
je 0x41865e
mov rax, qword [rax]
lea rcx, [rax + 0x1d]
call fcn.004045b4
lea rdx, [0x00427f00]
mov r15, rax
mov rcx, rax
call fcn.00402a2c
mov rdx, r14
mov rcx, r15
call fcn.00402a69
lea rdx, [0x00428110]
mov rcx, r15
call fcn.00402a2c
xor edx, edx
test r15, r15
je 0x418699
mov rdx, qword [r15]
mov rcx, r13
call fcn.004045e7
mov rdx, r15
mov rcx, rax
mov r13, rax
call fcn.00402a69
mov rax, qword [rbx]
mov rax, qword [rax]
test rax, rax
je 0x4186ce
mov rax, qword [rax]
xor esi, esi
dec rax
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], rsi
jge 0x41870d
mov rcx, r13
mov edx, 2
call fcn.004045e7
lea rdx, [0x00428110]
mov rcx, rax
mov r13, rax
call fcn.00402a2c
mov rcx, qword [r12]
mov rdx, r13
call fcn.00417238
cmp qword [rsp + 0x1f8], 0
jne 0x4187dd
jmp 0x4187f7
mov rdx, qword [rbx]
imul rax, rsi, 0x18
add rax, qword [rdx]
cmp qword [rax + 0x10], 0
je 0x4187d5
mov r15, qword [rax + 0x20]
test r15, r15
je 0x4187d5
mov rbp, qword [rax + 0x18]
mov rax, qword [r15]
xor edi, edi
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], rdi
jle 0x4187d5
mov r8, qword [r15 + rdi*8 + 0x10]
xor edx, edx
test rbp, rbp
je 0x418758
mov rdx, qword [rbp]
xor eax, eax
test r8, r8
je 0x418762
mov rax, qword [r8]
lea rcx, [rdx + rax + 4]
mov qword [rsp + 0x50], r8
call fcn.004045b4
mov rdx, rbp
mov r14, rax
mov rcx, rax
call fcn.00402a69
lea rdx, [0x00427ee0]
mov rcx, r14
call fcn.00402a2c
mov r8, qword [rsp + 0x50]
mov rcx, r14
mov rdx, r8
call fcn.00402a69
lea rdx, [0x00428110]
mov rcx, r14
call fcn.00402a2c
xor edx, edx
test r14, r14
je 0x4187b7
mov rdx, qword [r14]
mov rcx, r13
inc rdi
call fcn.004045e7
mov rdx, r14
mov rcx, rax
mov r13, rax
call fcn.00402a69
jmp 0x41873d
inc rsi
jmp 0x4186c7
mov rax, qword [rsp + 0x1f8]
cmp qword [rax], 0
jle 0x4187f7
mov rcx, qword [r12]
mov rdx, rax
call fcn.00417238
mov cl, byte [rsp + 0x4c]
mov eax, 0x81
xor esi, esi
and ecx, 0xf
sar eax, cl
test al, 1
jne 0x418813
mov sil, byte [r12 + 0xb8]
mov rcx, qword [0x00428e20]
mov edx, 0x28
xor r15d, r15d
lea rdi, [0x00427be0]
call fcn.004042f3
mov r13, rax
call fcn.004145be
lea rcx, [r13 + 0x10]
mov rdx, rax
call fcn.004036fc
mov rcx, qword [r12]
mov r8, qword [r12 + 0x70]
lea rbx, [rsp + 0xd0]
mov r9d, 2
mov qword [rsp + 0xd0], 0
mov rdx, rbx
call fcn.00414c64
mov r14, qword [rsp + 0xd0]
test r14, r14
je 0x41889a
mov rbp, qword [r14]
test rbp, rbp
je 0x41889a
lea rdx, [0x00428110]
mov rcx, r14
call fcn.0040900f
test al, al
je 0x4188b3
jmp 0x418c39
mov rcx, r12
call fcn.0040d9be
lea rcx, [0x00427d20]
call fcn.0040eeac
jmp 0x418c39
test r15b, r15b
je 0x41891b
mov qword [rsp + 0x88], 0
xor r15d, r15d
mov r9, r15
inc r15
cmp rbp, r9
jle 0x4188da
cmp byte [r14 + r15 + 0xf], 0x3a
jne 0x4188c7
lea rdx, [rsp + 0x88]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x38], r9
call fcn.00408b5c
mov r9, qword [rsp + 0x38]
test r9, r9
jne 0x418a3d
lea rcx, [0x00427c00]
mov qword [rsp + 0x38], r9
call fcn.0040eeac
mov r9, qword [rsp + 0x38]
jmp 0x418a3d
xor r8d, r8d
lea rdx, [0x00427cf0]
mov rcx, r14
call fcn.00408ba9
mov rbx, rax
test rax, rax
jg 0x418972
lea rcx, [rbp + 0x18]
call fcn.004045b4
lea rdx, [0x00427cc0]
mov r15, rax
mov rcx, rax
call fcn.00402a2c
mov rdx, r14
mov rcx, r15
call fcn.00402a69
mov rcx, r15
lea rdx, [0x00427c90]
call fcn.00402a2c
mov rcx, r15
call fcn.0040eeac
mov r8, rbx
lea rdx, [0x00427c70]
mov rcx, r14
call fcn.00408ba9
mov rbp, rax
test rax, rax
jg 0x4189b4
mov r8, rbx
lea rdx, [0x00427c50]
mov rcx, r14
call fcn.00408ba9
mov rbp, rax
test rax, rax
jg 0x4189c1
lea rcx, [0x00427c20]
call fcn.0040eeac
jmp 0x4189c1
mov r15, qword [r13]
lea rcx, [0x00427c70]
jmp 0x4189cc
mov r15, qword [r13]
lea rcx, [0x00427c50]
call fcn.004044e1
mov qword [r13], rax
test r15, r15
je 0x4189e2
mov rcx, r15
call fcn.00403751
mov rcx, qword [r14]
lea rax, [rbx + rbp]
mov r9, rax
cmp rax, rcx
jge 0x418a08
mov dl, byte [r14 + rax + 0x10]
inc rax
lea r8d, [rdx - 9]
cmp r8b, 4
jbe 0x4189e9
cmp dl, 0x20
je 0x4189e9
lea r15, [rsp + 0x60]
mov rdx, r9
mov r8d, 1
mov rcx, r15
call fcn.0040da5d
mov rdx, r15
mov rcx, r14
call fcn.0040d865
lea rcx, [r13 + 8]
mov rdx, rax
call fcn.004036fc
mov r15b, 1
jmp 0x418842
cmp byte [r14 + r9 + 0x10], 0x3a
je 0x418a51
lea rcx, [0x00427c00]
call fcn.0040eeac
lea r9, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
mov rcx, r9
mov qword [rsp + 0x38], r9
call fcn.0040da5d
mov r9, qword [rsp + 0x38]
mov rcx, r14
mov rdx, r9
call fcn.0040d865
mov r9, rax
test rax, rax
je 0x418ad5
mov rax, qword [rax]
xor edx, edx
lea r8, [rax - 1]
cmp r8, rdx
jl 0x418adb
mov cl, byte [r9 + rdx + 0x10]
mov eax, ecx
and ecx, 7
shr al, 3
movzx eax, al
movzx eax, byte [rdi + rax]
shr eax, cl
test al, 1
je 0x418ab9
inc rdx
jmp 0x418a8d
dec r8
cmp rdx, r8
jg 0x418adb
mov cl, byte [r9 + r8 + 0x10]
mov eax, ecx
and ecx, 7
shr al, 3
movzx eax, al
movzx eax, byte [rdi + rax]
shr eax, cl
test al, 1
jne 0x418ab1
jmp 0x418adb
xor edx, edx
or r8, 0xffffffffffffffff
mov rcx, r9
call fcn.004078b5
mov rbp, qword [r13 + 0x10]
mov r15, qword [rsp + 0x88]
mov r14, rax
mov cl, byte [rbp + 8]
mov rdx, r15
call fcn.00414288
mov r8, rbx
mov rdx, rax
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rsp + 0xd0], 0
call fcn.0041439d
mov cl, byte [rbp + 8]
test rax, rax
js 0x418bbe
mov rdx, r15
call fcn.00414288
mov rbp, qword [rbp]
mov r8, rbx
mov qword [rsp + 0xd0], 0
mov rdx, rax
mov r15, rax
mov rcx, qword [rbp]
call fcn.0041439d
test rax, rax
jns 0x418b5e
mov rcx, r15
call fcn.00409287
imul rax, rax, 0x18
mov rbx, qword [rbp]
mov rdx, qword [0x00428ed0]
lea r15, [rbx + rax + 0x20]
add rbx, rax
mov rcx, qword [rbx + 0x20]
call fcn.00405bcd
mov rcx, r15
mov rdx, rax
call fcn.00404842
mov rbp, qword [rbx + 0x20]
mov rcx, r14
mov rbx, qword [rbp]
lea rax, [rbx + 1]
add rbx, 2
mov qword [rbp], rax
mov r15, qword [rbp + rbx*8]
call fcn.004044e1
mov qword [rbp + rbx*8], rax
test r15, r15
je 0x418c13
mov rcx, r15
call fcn.00403751
jmp 0x418c13
mov rdx, r15
call fcn.00414288
mov rcx, qword [0x00428ed0]
mov edx, 1
mov r15, rax
call fcn.00405b63
mov rcx, r14
mov r8, qword [rax + 0x10]
mov rbx, rax
mov qword [rsp + 0x38], r8
call fcn.004044e1
mov r8, qword [rsp + 0x38]
mov qword [rbx + 0x10], rax
test r8, r8
je 0x418c04
mov rcx, r8
call fcn.00403751
mov rcx, qword [rbp]
mov r8, rbx
mov rdx, r15
call fcn.00409057
mov rax, qword [r13 + 0x10]
mov rax, qword [rax]
cmp qword [rax + 8], 0x2710
jle 0x418a35
lea rcx, [0x00427ba0]
call fcn.0040eeac
jmp 0x418a35
xor ecx, ecx
call fcn.00408eb9
lea rcx, [r13 + 0x20]
mov rdx, rax
call fcn.004036fc
test sil, sil
je 0x41913b
mov rcx, r13
call fcn.0040dab1
cmp rax, 0xcc
je 0x41913b
mov rdx, qword [r13 + 0x20]
lea rcx, [r12 + 0xb0]
call fcn.004036fc
mov r14, qword [r13 + 0x10]
mov rsi, qword [r13]
mov qword [r12 + 0x90], 0
lea rcx, [rsp + 0x88]
mov edx, 8
mov qword [r12 + 0x98], 0
mov qword [r12 + 0xa0], 0
call fcn.00402b37
mov rax, qword [rsp + 0x88]
mov edx, 1
mov rcx, qword [0x00428ed0]
mov qword [r12 + 0xa8], rax
call fcn.00405b63
xor edx, edx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x38], rax
call fcn.004036fc
mov r8, qword [rsp + 0x38]
lea rdx, [0x00427b60]
mov rcx, r14
call fcn.0040d8f9
mov rcx, rax
call fcn.0040d8f0
lea rdx, [0x00427b40]
mov rcx, rax
call fcn.0040900f
test al, al
je 0x418d24
lea rsi, [0x004279e0]
jmp 0x418dda
mov rcx, qword [0x00428ed0]
mov edx, 1
call fcn.00405b63
xor edx, edx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x38], rax
call fcn.004036fc
mov r8, qword [rsp + 0x38]
mov rcx, r14
lea rdx, [0x00427b20]
call fcn.0040d8f9
mov rcx, rax
mov r15, rax
call fcn.0040d8f0
test rax, rax
jne 0x418edc
jmp 0x418ee2
cmp qword [rbp], 0
je 0x418e0d
xor r15d, r15d
xor edi, edi
test rbp, rbp
jne 0x418e1a
mov r8, qword [r12 + 0x70]
test rdi, rdi
jle 0x418ec7
mov r9d, 1
mov rdx, rdi
mov rcx, r12
call fcn.0040fa4d
cmp rdi, rax
je 0x418db7
mov rcx, rsi
call fcn.0040eeac
mov r8, qword [r12 + 0x70]
xor r9d, r9d
mov edx, 2
mov rcx, r12
call fcn.0040fa4d
cmp rax, 2
je 0x418dda
mov rcx, rsi
call fcn.0040eeac
mov rcx, qword [r12]
mov r9d, 2
or r8, 0xffffffffffffffff
mov rdx, rbx
mov qword [rsp + 0xd0], 0
call fcn.00414c64
mov rbp, qword [rsp + 0xd0]
test rbp, rbp
jne 0x418d72
mov rcx, rsi
call fcn.0040eeac
jmp 0x418d7d
mov rcx, qword [rbp]
cmp rcx, r15
jle 0x418d8b
movzx eax, byte [rbp + r15 + 0x10]
cmp al, 0x46
jg 0x418e5d
cmp al, 0x40
jg 0x418e7b
cmp al, 0x39
jg 0x418e53
cmp al, 0x2f
jle 0x418e8b
movzx ecx, al
shl rdi, 4
sub rcx, 0x30
mov rdx, rdi
mov rdi, rcx
or rdi, rdx
jmp 0x418ebf
cmp al, 0x3b
je 0x418d8b
jmp 0x418e8b
lea edx, [rax - 0x61]
cmp dl, 5
ja 0x418e8b
movzx edx, al
shl rdi, 4
sub rdx, 0x57
mov rcx, rdi
mov rdi, rdx
or rdi, rcx
jmp 0x418ebf
shl rdi, 4
sub rax, 0x37
or rax, rdi
mov rdi, rax
jmp 0x418ebf
add rcx, 0x14
call fcn.004045b4
lea rdx, [0x004279a0]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.00402a2c
mov rcx, qword [rsp + 0x38]
mov rdx, rbp
call fcn.00402a69
mov rcx, qword [rsp + 0x38]
call fcn.0040eeac
inc r15
jmp 0x418d82
xor r9d, r9d
mov edx, 2
mov rcx, r12
call fcn.0040fa4d
jmp 0x4190bd
cmp qword [rax], 0
jne 0x418f00
lea rdx, [0x00427c50]
mov rcx, rsi
call fcn.0040900f
mov ebx, eax
test al, al
je 0x418fd9
jmp 0x419041
mov rcx, r15
call fcn.0040d8f0
mov rcx, rax
call fcn.00408ce3
mov qword [r12 + 0x90], rax
mov r15, rax
test rax, rax
jle 0x4190bd
mov r8, qword [r12 + 0x70]
mov r9d, 1
mov rdx, rax
mov rcx, r12
call fcn.0040fa4d
mov rbx, rax
test rax, rax
jne 0x418f58
mov rcx, r12
call fcn.0040d9be
lea rcx, [0x00427ae0]
call fcn.0040eeac
jmp 0x418f61
cmp r15, rax
je 0x4190bd
mov rcx, r15
call fcn.00404e81
mov rcx, rbx
mov rsi, rax
call fcn.00404e81
xor edx, edx
mov rbx, rax
test rsi, rsi
je 0x418f81
mov rdx, qword [rsi]
xor eax, eax
test rbx, rbx
je 0x418f8b
mov rax, qword [rbx]
lea rcx, [rdx + rax + 0x3c]
call fcn.004045b4
lea rdx, [0x00427a80]
mov r15, rax
mov rcx, rax
call fcn.00402a2c
mov rdx, rsi
mov rcx, r15
call fcn.00402a69
mov rcx, r15
lea rdx, [0x00427a60]
call fcn.00402a2c
mov rcx, r15
mov rdx, rbx
call fcn.00402a69
mov rcx, r15
call fcn.0040eeac
jmp 0x4190bd
lea rdx, [0x00427c70]
mov rcx, rsi
call fcn.0040900f
mov ebx, eax
test al, al
je 0x419041
mov rcx, qword [0x00428ed0]
mov edx, 1
mov ebx, 1
call fcn.00405b63
xor edx, edx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x38], rax
call fcn.004036fc
mov r8, qword [rsp + 0x38]
lea rdx, [0x00427a40]
mov rcx, r14
call fcn.0040d8f9
mov rcx, rax
call fcn.0040d8f0
test rax, rax
je 0x41903e
xor ebx, ebx
cmp qword [rax], 0
sete bl
and ebx, 1
mov rcx, qword [0x00428ed0]
mov edx, 1
call fcn.00405b63
xor edx, edx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x38], rax
call fcn.004036fc
mov r8, qword [rsp + 0x38]
lea rdx, [0x00427a40]
mov rcx, r14
call fcn.0040d8f9
mov rcx, rax
call fcn.0040d8f0
lea rdx, [0x00427a20]
mov rcx, rax
call fcn.0040900f
test al, al
jne 0x419095
test bl, bl
je 0x4190bd
mov r8, qword [r12 + 0x70]
mov r9d, 1
mov edx, 0xfa0
mov rcx, r12
call fcn.0040fa4d
cmp rax, 0xfa0
je 0x419095
mov rcx, r12
call fcn.0040d9be
mov rax, qword [r12 + 0xb0]
xor edx, edx
mov rcx, rax
call qword [rax + 0x18]
mov rcx, qword [0x00428ed0]
mov edx, 1
call fcn.00405b63
xor edx, edx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x38], rax
call fcn.004036fc
mov r8, qword [rsp + 0x38]
lea rdx, [0x00427a40]
mov rcx, r14
call fcn.0040d8f9
mov rcx, rax
call fcn.0040d8f0
lea rdx, [0x00427a20]
mov rcx, rax
call fcn.0040900f
test al, al
je 0x41913b
mov rcx, r12
call fcn.0040d9be
jmp 0x41913b
lea rdx, [0x00428140]
mov rcx, rbx
call fcn.0040ee44
jmp 0x417e09
mov rax, r13
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret