Function at 0x180041d70
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xf28
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x29e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xf48]
mov rax, qword [0x180371940]
xor rax, rbp
mov qword [rbp + 0xee0], rax
mov dword [rbp + 0x44], 0
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0xf28]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x28]
and rax, 3
test rax, rax
je 0x180041eeb
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x25
jne 0x180041e0a
jmp 0x180041f9f
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x180041e29
jmp 0x1800456d6
cmp qword [rbp + 0xf10], 0
je 0x180041eb9
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xe4]
inc eax
cmp eax, 0x200
jl 0x180041eb9
mov eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0xe4]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x180041eb9
jmp 0x18004575d
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x28]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041dd9
mov rax, qword [rbp + 0x28]
mov eax, dword [rax]
mov dword [rbp + 0x104], eax
mov eax, dword [rbp + 0x104]
not eax
and eax, 0x80808080
mov dword [rbp + 0x124], eax
mov eax, dword [rbp + 0x104]
xor eax, 0x25252525
sub eax, 0x1010101
and eax, dword [rbp + 0x124]
test eax, eax
je 0x180041f29
jmp 0x180041dea
mov eax, dword [rbp + 0x104]
sub eax, 0x1010101
and eax, dword [rbp + 0x124]
test eax, eax
je 0x180041f43
jmp 0x180041e0a
cmp qword [rbp + 0xf10], 0
je 0x180041f71
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
cmp eax, 4
jge 0x180041f71
jmp 0x180041dea
mov rax, qword [rbp + 8]
mov ecx, dword [rbp + 0x104]
mov dword [rax], ecx
mov rax, qword [rbp + 8]
add rax, 4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x28]
add rax, 4
mov qword [rbp + 0x28], rax
jmp 0x180041eeb
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x64], 0
mov dword [rbp + 0x84], 0xffffffff
mov dword [rbp + 0xc4], 0
mov dword [rbp + 0xa4], 0
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
sub eax, 0x20
mov dword [rbp + 0xed4], eax
cmp dword [rbp + 0xed4], 0x3f
ja case.0x180042022.1
movsxd rax, dword [rbp + 0xed4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x457c8]
mov eax, dword [rcx + rax*4 + 0x457a4]
add rax, rcx
jmp rax
mov eax, dword [rbp + 0xc4]
or eax, 1
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
or eax, 2
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
or eax, 4
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
or eax, 8
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
or eax, 0x40
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
and eax, 0x100
test eax, eax
je 0x1800420fe
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x1800420ec
mov eax, dword [rbp + 0xc4]
bts eax, 0xc
mov dword [rbp + 0xc4], eax
jmp 0x1800420fc
mov eax, dword [rbp + 0xc4]
bts eax, 0xb
mov dword [rbp + 0xc4], eax
jmp 0x18004210e
mov eax, dword [rbp + 0xc4]
bts eax, 8
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
bts eax, 0xa
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041fcf
mov eax, dword [rbp + 0xc4]
or eax, 0x10
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180042165
jmp 0x180042165
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x2a
jne 0x1800421e0
xor eax, eax
test eax, eax
je 0x1800421a8
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov eax, dword [rax]
mov dword [rbp + 0xed4], eax
jmp 0x1800421ca
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov eax, dword [rax - 8]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x64], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180042235
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jl 0x180042235
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x39
jg 0x180042235
imul eax, dword [rbp + 0x64], 0xa
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x28]
movsx ecx, byte [rdx + rcx]
lea eax, [rax + rcx - 0x30]
mov dword [rbp + 0x64], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x1800421e0
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x2e
jne 0x18004233d
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x2a
jne 0x1800422d8
xor eax, eax
test eax, eax
je 0x18004229d
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov eax, dword [rax]
mov dword [rbp + 0xed4], eax
jmp 0x1800422bf
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov eax, dword [rax - 8]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x84], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x18004233d
mov dword [rbp + 0x84], 0
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jl 0x18004233d
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x39
jg 0x18004233d
imul eax, dword [rbp + 0x84], 0xa
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x28]
movsx ecx, byte [rdx + rcx]
lea eax, [rax + rcx - 0x30]
mov dword [rbp + 0x84], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x1800422e2
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
sub eax, 0x49
mov dword [rbp + 0xed4], eax
cmp dword [rbp + 0xed4], 0x31
ja case.0x180042390.1
movsxd rax, dword [rbp + 0xed4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x45824]
mov eax, dword [rcx + rax*4 + 0x45808]
add rax, rcx
jmp rax
mov eax, dword [rbp + 0xc4]
bts eax, 9
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x68
jne 0x1800423ce
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, dword [rbp + 0xc4]
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x6c
jne 0x18004241a
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x36
jne 0x1800424c5
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x34
jne 0x1800424c5
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
add rax, 3
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x33
jne 0x1800424ff
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x32
jne 0x1800424ff
mov rax, qword [rbp + 0x28]
add rax, 3
mov qword [rbp + 0x28], rax
jmp case.0x180042390.1
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
sub eax, 0x41
mov dword [rbp + 0xed4], eax
cmp dword [rbp + 0xed4], 0x37
ja case.0x18004256c.2
movsxd rax, dword [rbp + 0xed4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x458a8]
mov eax, dword [rcx + rax*4 + 0x45858]
add rax, rcx
jmp rax
xor eax, eax
test eax, eax
je 0x18004259d
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov rax, qword [rax]
mov qword [rbp + 0xed8], rax
jmp 0x1800425c1
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x3a8], rax
cmp qword [rbp + 0x3a8], 0
jne 0x1800425e7
lea rax, str.null
mov qword [rbp + 0x3a8], rax
cmp dword [rbp + 0x84], 0
jl 0x1800425fe
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0xed4], eax
jmp 0x180042608
mov dword [rbp + 0xed4], 0xffffffff
mov edx, dword [rbp + 0xed4]
mov rcx, qword [rbp + 0x3a8]
call fcn.180041850
mov dword [rbp + 0x3e4], eax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xd28], rax
cmp qword [rbp + 0xd28], 8
jae 0x18004263c
jmp 0x180042641
call fcn.1802257b0
mov rax, qword [rbp + 0xd28]
mov byte [rbp + rax + 0x368], 0
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xd48], rax
cmp qword [rbp + 0xd48], 8
jae 0x18004266c
jmp 0x180042671
call fcn.1802257b0
mov rax, qword [rbp + 0xd48]
mov byte [rbp + rax + 0x388], 0
mov dword [rbp + 0x84], 0
mov dword [rbp + 0x484], 0
mov dword [rbp + 0x424], 0
jmp 0x1800446e5
lea rax, [rbp + 0x34f]
mov qword [rbp + 0x3a8], rax
xor eax, eax
test eax, eax
je 0x1800426e3
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov eax, dword [rax]
mov dword [rbp + 0xed4], eax
jmp 0x180042705
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov eax, dword [rax - 8]
mov dword [rbp + 0xed4], eax
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [rbp + 0xed4]
mov byte [rax], cl
mov dword [rbp + 0x3e4], 1
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xd68], rax
cmp qword [rbp + 0xd68], 8
jae 0x18004273b
jmp 0x180042740
call fcn.1802257b0
mov rax, qword [rbp + 0xd68]
mov byte [rbp + rax + 0x368], 0
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xd88], rax
cmp qword [rbp + 0xd88], 8
jae 0x18004276b
jmp 0x180042770
call fcn.1802257b0
mov rax, qword [rbp + 0xd88]
mov byte [rbp + rax + 0x388], 0
mov dword [rbp + 0x84], 0
mov dword [rbp + 0x484], 0
mov dword [rbp + 0x424], 0
jmp 0x1800446e5
xor eax, eax
test eax, eax
je 0x1800427d6
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov rax, qword [rax]
mov qword [rbp + 0xed8], rax
jmp 0x1800427fa
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x4c8], rax
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x4c8]
mov dword [rcx], eax
jmp 0x1800456c6
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x41
jne 0x180042854
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180042862
lea rax, str.0123456789abcdefxp
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x3c8], rax
xor eax, eax
test eax, eax
je 0x1800428a1
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
movsd xmm0, qword [rax]
movsd qword [rbp + 0xed8], xmm0
jmp 0x1800428c7
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
movsd xmm0, qword [rax - 8]
movsd qword [rbp + 0xed8], xmm0
movsd xmm0, qword [rbp + 0xed8]
movsd qword [rbp + 0x468], xmm0
cmp dword [rbp + 0x84], 0xffffffff
jne 0x1800428ea
mov dword [rbp + 0x84], 6
movsd xmm2, qword [rbp + 0x468]
lea rdx, [rbp + 0x484]
lea rcx, [rbp + 0x448]
call fcn.1800410b0
test eax, eax
je 0x180042919
mov eax, dword [rbp + 0xc4]
bts eax, 7
mov dword [rbp + 0xc4], eax
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3a8], rax
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.18003ffd0
cmp dword [rbp + 0x484], 0xfffffc01
jne 0x180042973
cmp qword [rbp + 0x448], 0
je 0x18004295b
mov dword [rbp + 0xed4], 0xfffffc02
jmp 0x180042965
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x484], eax
jmp 0x180042991
movabs rax, 0x10000000000000
mov rcx, qword [rbp + 0x448]
or rcx, rax
mov rax, rcx
mov qword [rbp + 0x448], rax
mov rax, qword [rbp + 0x448]
shl rax, 8
mov qword [rbp + 0x448], rax
cmp dword [rbp + 0x84], 0xf
jge 0x1800429e7
mov eax, dword [rbp + 0x84]
shl eax, 2
movabs rcx, 0x800000000000000
mov qword [rbp + 0xed8], rcx
movzx ecx, al
mov rax, qword [rbp + 0xed8]
shr rax, cl
mov rcx, qword [rbp + 0x448]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x448], rax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
inc eax
cdqe
mov byte [rbp + rax + 0x368], 0x30
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
add eax, 2
cdqe
mov byte [rbp + rax + 0x368], 0x78
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
add eax, 2
mov ecx, 1
imul rcx, rcx, 0
mov byte [rbp + rcx + 0x368], al
mov rax, qword [rbp + 0x448]
shr rax, 0x3c
and rax, 0xf
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x448]
shl rax, 4
mov qword [rbp + 0x448], rax
cmp dword [rbp + 0x84], 0
je 0x180042ab6
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2020]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
mov qword [rbp + 0x4a8], rax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0x404], 0xd
jbe 0x180042ae3
mov dword [rbp + 0x404], 0xd
mov eax, dword [rbp + 0x404]
cmp dword [rbp + 0x84], eax
jle 0x180042b07
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xa4], eax
mov dword [rbp + 0x84], 0
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0x404]
dec eax
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0xed4], 0
je 0x180042b7c
mov rax, qword [rbp + 0x448]
shr rax, 0x3c
and rax, 0xf
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x448]
shl rax, 4
mov qword [rbp + 0x448], rax
jmp 0x180042b11
mov eax, 1
imul rax, rax, 0x11
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x388], al
cmp dword [rbp + 0x484], 0
jge 0x180042bca
mov eax, 1
imul rax, rax, 2
mov byte [rbp + rax + 0x388], 0x2d
mov eax, dword [rbp + 0x484]
neg eax
mov dword [rbp + 0x484], eax
jmp 0x180042bdb
mov eax, 1
imul rax, rax, 2
mov byte [rbp + rax + 0x388], 0x2b
cmp dword [rbp + 0x484], 0x3e8
jl 0x180042bf3
mov dword [rbp + 0xed4], 6
jmp 0x180042c3f
cmp dword [rbp + 0x484], 0x64
jl 0x180042c08
mov dword [rbp + 0xed8], 5
jmp 0x180042c33
cmp dword [rbp + 0x484], 0xa
jl 0x180042c1d
mov dword [rbp + 0xedc], 4
jmp 0x180042c27
mov dword [rbp + 0xedc], 3
mov eax, dword [rbp + 0xedc]
mov dword [rbp + 0xed8], eax
mov eax, dword [rbp + 0xed8]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x404], eax
mov eax, 1
imul rax, rax, 0
movzx ecx, byte [rbp + 0x404]
mov byte [rbp + rax + 0x388], cl
mov eax, dword [rbp + 0x484]
cdq
mov ecx, 0xa
idiv ecx
mov eax, edx
add eax, 0x30
mov ecx, dword [rbp + 0x404]
mov byte [rbp + rcx + 0x388], al
cmp dword [rbp + 0x404], 3
ja 0x180042c8d
jmp 0x180042cb1
mov eax, dword [rbp + 0x404]
dec eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x484]
cdq
mov ecx, 0xa
idiv ecx
mov dword [rbp + 0x484], eax
jmp 0x180042c62
mov rax, qword [rbp + 0x4a8]
mov rcx, qword [rbp + 0x3a8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x484], eax
lea rax, [rbp + 0x190]
mov rcx, qword [rbp + 0x3a8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x3e4], eax
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x424], 0x3000001
jmp 0x1800446e5
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x47
jne 0x180042d2d
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180042d3b
lea rax, str.0123456789abcdefxp
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x3c8], rax
xor eax, eax
test eax, eax
je 0x180042d7a
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
movsd xmm0, qword [rax]
movsd qword [rbp + 0xed8], xmm0
jmp 0x180042da0
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
movsd xmm0, qword [rax - 8]
movsd qword [rbp + 0xed8], xmm0
movsd xmm0, qword [rbp + 0xed8]
movsd qword [rbp + 0x468], xmm0
cmp dword [rbp + 0x84], 0xffffffff
jne 0x180042dc5
mov dword [rbp + 0x84], 6
jmp 0x180042dd8
cmp dword [rbp + 0x84], 0
jne 0x180042dd8
mov dword [rbp + 0x84], 1
mov eax, dword [rbp + 0x84]
dec eax
bts eax, 0x1f
mov dword [rsp + 0x28], eax
movsd xmm0, qword [rbp + 0x468]
movsd qword [rsp + 0x20], xmm0
lea r9, [rbp + 0x484]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x3e4]
lea rcx, [rbp + 0x4a8]
call fcn.180041190
test eax, eax
je 0x180042e2b
mov eax, dword [rbp + 0xc4]
bts eax, 7
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x84]
cmp dword [rbp + 0x3e4], eax
jbe 0x180042e51
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0x3e4], 1
jbe 0x180042e9b
cmp dword [rbp + 0x84], 0
je 0x180042e9b
mov eax, dword [rbp + 0x3e4]
dec eax
mov eax, eax
mov rcx, qword [rbp + 0x4a8]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jne 0x180042e9b
mov eax, dword [rbp + 0x84]
dec eax
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x3e4]
dec eax
mov dword [rbp + 0x3e4], eax
jmp 0x180042e51
cmp dword [rbp + 0x484], 0xfffffffc
jle 0x180042eb2
mov eax, dword [rbp + 0x404]
cmp dword [rbp + 0x484], eax
jle 0x180042ef1
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x84], eax
jle 0x180042ed0
mov eax, dword [rbp + 0x3e4]
dec eax
mov dword [rbp + 0x84], eax
jmp 0x180042ee7
cmp dword [rbp + 0x84], 0
je 0x180042ee7
mov eax, dword [rbp + 0x84]
dec eax
mov dword [rbp + 0x84], eax
jmp 0x18004308b
cmp dword [rbp + 0x484], 0
jle 0x180042f38
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x484], eax
jge 0x180042f20
mov eax, dword [rbp + 0x484]
mov ecx, dword [rbp + 0x3e4]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xed4], eax
jmp 0x180042f2a
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x84], eax
jmp 0x180042f74
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x84], eax
jle 0x180042f54
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0xed4], eax
jmp 0x180042f60
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0x484]
neg eax
add eax, dword [rbp + 0xed4]
mov dword [rbp + 0x84], eax
jmp 0x180043483
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x180042fa4
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180042fb2
lea rax, str.0123456789abcdefxp
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x3c8], rax
xor eax, eax
test eax, eax
je 0x180042ff1
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
movsd xmm0, qword [rax]
movsd qword [rbp + 0xed8], xmm0
jmp 0x180043017
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
movsd xmm0, qword [rax - 8]
movsd qword [rbp + 0xed8], xmm0
movsd xmm0, qword [rbp + 0xed8]
movsd qword [rbp + 0x468], xmm0
cmp dword [rbp + 0x84], 0xffffffff
jne 0x18004303a
mov dword [rbp + 0x84], 6
mov eax, dword [rbp + 0x84]
bts eax, 0x1f
mov dword [rsp + 0x28], eax
movsd xmm0, qword [rbp + 0x468]
movsd qword [rsp + 0x20], xmm0
lea r9, [rbp + 0x484]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x3e4]
lea rcx, [rbp + 0x4a8]
call fcn.180041190
test eax, eax
je 0x18004308b
mov eax, dword [rbp + 0xc4]
bts eax, 7
mov dword [rbp + 0xc4], eax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xda8], rax
cmp qword [rbp + 0xda8], 8
jae 0x1800430a7
jmp 0x1800430ac
call fcn.1802257b0
mov rax, qword [rbp + 0xda8]
mov byte [rbp + rax + 0x388], 0
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.18003ffd0
cmp dword [rbp + 0x484], 0x7000
jne 0x180043105
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x424], 0
mov dword [rbp + 0x84], 0
jmp 0x1800446e5
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3a8], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x4a8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
cmp dword [rbp + 0x84], 0
je 0x18004316b
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2020]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x3e4]
dec eax
cmp eax, dword [rbp + 0x84]
jbe 0x180043189
mov eax, dword [rbp + 0x84]
inc eax
mov dword [rbp + 0x3e4], eax
mov dword [rbp + 0x404], 1
jmp 0x1800431a3
mov eax, dword [rbp + 0x404]
inc eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x404], eax
jae 0x1800431de
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x4a8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x180043195
mov eax, dword [rbp + 0x3e4]
dec eax
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xa4], eax
mov dword [rbp + 0x84], 0
mov eax, 1
imul rax, rax, 0xe
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x388], al
mov eax, dword [rbp + 0x484]
dec eax
mov dword [rbp + 0x484], eax
cmp dword [rbp + 0x484], 0
jge 0x18004325c
mov eax, 1
imul rax, rax, 2
mov byte [rbp + rax + 0x388], 0x2d
mov eax, dword [rbp + 0x484]
neg eax
mov dword [rbp + 0x484], eax
jmp 0x18004326d
mov eax, 1
imul rax, rax, 2
mov byte [rbp + rax + 0x388], 0x2b
cmp dword [rbp + 0x484], 0x64
jl 0x180043282
mov dword [rbp + 0xed4], 5
jmp 0x18004328c
mov dword [rbp + 0xed4], 4
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x404], eax
mov eax, 1
imul rax, rax, 0
movzx ecx, byte [rbp + 0x404]
mov byte [rbp + rax + 0x388], cl
mov eax, dword [rbp + 0x484]
cdq
mov ecx, 0xa
idiv ecx
mov eax, edx
add eax, 0x30
mov ecx, dword [rbp + 0x404]
mov byte [rbp + rcx + 0x388], al
cmp dword [rbp + 0x404], 3
ja 0x1800432da
jmp 0x1800432fe
mov eax, dword [rbp + 0x404]
dec eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x484]
cdq
mov ecx, 0xa
idiv ecx
mov dword [rbp + 0x484], eax
jmp 0x1800432af
mov dword [rbp + 0x424], 0x3000001
jmp 0x180043c5f
xor eax, eax
test eax, eax
je 0x180043343
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
movsd xmm0, qword [rax]
movsd qword [rbp + 0xed8], xmm0
jmp 0x180043369
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
movsd xmm0, qword [rax - 8]
movsd qword [rbp + 0xed8], xmm0
movsd xmm0, qword [rbp + 0xed8]
movsd qword [rbp + 0x468], xmm0
mov eax, dword [rbp + 0xc4]
and eax, 0x100
test eax, eax
je 0x180043423
movsd xmm0, qword [0x18023cc00]
movsd qword [rbp + 0x4e8], xmm0
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x1800433bb
movsd xmm0, qword [0x18023cc08]
movsd qword [rbp + 0x4e8], xmm0
cmp dword [rbp + 0xc4], 0x4000000
jae 0x180043423
movsd xmm0, qword [rbp + 0x4e8]
comisd xmm0, xmmword [rbp + 0x468]
jbe 0x1800433f8
movsd xmm0, qword [rbp + 0x4e8]
xorps xmm0, xmmword [0x18023cc80]
movsd xmm1, qword [rbp + 0x468]
comisd xmm1, xmm0
jbe 0x1800433f8
jmp 0x180043423
movsd xmm0, qword [rbp + 0x468]
divsd xmm0, qword [rbp + 0x4e8]
movsd qword [rbp + 0x468], xmm0
mov eax, dword [rbp + 0xc4]
add eax, 0x1000000
mov dword [rbp + 0xc4], eax
jmp 0x1800433bb
cmp dword [rbp + 0x84], 0xffffffff
jne 0x180043436
mov dword [rbp + 0x84], 6
mov eax, dword [rbp + 0x84]
mov dword [rsp + 0x28], eax
movsd xmm0, qword [rbp + 0x468]
movsd qword [rsp + 0x20], xmm0
lea r9, [rbp + 0x484]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x3e4]
lea rcx, [rbp + 0x4a8]
call fcn.180041190
test eax, eax
je 0x180043483
mov eax, dword [rbp + 0xc4]
bts eax, 7
mov dword [rbp + 0xc4], eax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xdc8], rax
cmp qword [rbp + 0xdc8], 8
jae 0x18004349f
jmp 0x1800434a4
call fcn.1802257b0
mov rax, qword [rbp + 0xdc8]
mov byte [rbp + rax + 0x388], 0
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.18003ffd0
cmp dword [rbp + 0x484], 0x7000
jne 0x1800434fd
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x424], 0
mov dword [rbp + 0x84], 0
jmp 0x1800446e5
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3a8], rax
cmp dword [rbp + 0x484], 0
jg 0x180043708
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
cmp dword [rbp + 0x84], 0
je 0x18004355d
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2020]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x484]
neg eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x84]
cmp dword [rbp + 0x404], eax
jle 0x180043585
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x504], eax
cmp dword [rbp + 0x504], 0
je 0x1800435d7
mov rax, qword [rbp + 0x3a8]
and rax, 3
test rax, rax
jne 0x1800435ac
jmp 0x1800435d7
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x504]
dec eax
mov dword [rbp + 0x504], eax
jmp 0x180043591
cmp dword [rbp + 0x504], 4
jl 0x180043610
mov rax, qword [rbp + 0x3a8]
mov dword [rax], 0x30303030
mov rax, qword [rbp + 0x3a8]
add rax, 4
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x504]
sub eax, 4
mov dword [rbp + 0x504], eax
jmp 0x1800435d7
cmp dword [rbp + 0x504], 0
je 0x180043644
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x504]
dec eax
mov dword [rbp + 0x504], eax
jmp 0x180043610
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x3e4]
add ecx, eax
mov eax, ecx
cmp eax, dword [rbp + 0x84]
jle 0x180043672
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x3e4], eax
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0x504], eax
cmp dword [rbp + 0x504], 0
je 0x1800436d9
mov rax, qword [rbp + 0x4a8]
movzx eax, byte [rax]
mov byte [rbp + 0xed4], al
mov rax, qword [rbp + 0x4a8]
inc rax
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [rbp + 0xed4]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x504]
dec eax
mov dword [rbp + 0x504], eax
jmp 0x18004367e
mov eax, dword [rbp + 0x3e4]
mov ecx, dword [rbp + 0x404]
add ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xa4], eax
mov dword [rbp + 0x424], 0x3000001
jmp 0x180043b23
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180043733
mov eax, 0x258
sub eax, dword [rbp + 0x484]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rbp + 0xed4], eax
jmp 0x18004373d
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x424], eax
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x484], eax
jb 0x18004399a
mov dword [rbp + 0x404], 0
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x1800437b6
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x424], 4
jne 0x1800437b6
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x1800437ff
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x4a8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x404]
inc eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x404], eax
jb 0x1800437ff
jmp 0x180043804
jmp 0x180043765
mov eax, dword [rbp + 0x484]
cmp dword [rbp + 0x404], eax
jae 0x180043940
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x484]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
jne 0x1800438b8
cmp dword [rbp + 0x404], 0
je 0x18004387f
mov rax, qword [rbp + 0x3a8]
and rax, 3
test rax, rax
jne 0x180043854
jmp 0x18004387f
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x404]
dec eax
mov dword [rbp + 0x404], eax
jmp 0x180043839
cmp dword [rbp + 0x404], 4
jb 0x1800438b8
mov rax, qword [rbp + 0x3a8]
mov dword [rax], 0x30303030
mov rax, qword [rbp + 0x3a8]
add rax, 4
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x404]
sub eax, 4
mov dword [rbp + 0x404], eax
jmp 0x18004387f
cmp dword [rbp + 0x404], 0
je 0x180043940
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180043912
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x424], 4
jne 0x180043912
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x18004393b
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x404]
dec eax
mov dword [rbp + 0x404], eax
jmp 0x1800438b8
lea rax, [rbp + 0x190]
mov rcx, qword [rbp + 0x3a8]
sub rcx, rax
mov rax, rcx
add eax, 0x3000000
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x84], 0
je 0x180043995
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2020]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0xa4], eax
jmp 0x180043b23
mov dword [rbp + 0x404], 0
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x1800439f5
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x424], 4
jne 0x1800439f5
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x180043a3e
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x4a8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x404]
inc eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x484]
cmp dword [rbp + 0x404], eax
jb 0x180043a3e
jmp 0x180043a43
jmp 0x1800439a4
lea rax, [rbp + 0x190]
mov rcx, qword [rbp + 0x3a8]
sub rcx, rax
mov rax, rcx
add eax, 0x3000000
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x84], 0
je 0x180043a8c
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2020]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x484]
mov ecx, dword [rbp + 0x3e4]
sub ecx, eax
mov eax, ecx
cmp eax, dword [rbp + 0x84]
jbe 0x180043aba
mov eax, dword [rbp + 0x484]
mov ecx, dword [rbp + 0x84]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x3e4], eax
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x404], eax
jae 0x180043b03
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x4a8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x404]
inc eax
mov dword [rbp + 0x404], eax
jmp 0x180043aba
mov eax, dword [rbp + 0x484]
mov ecx, dword [rbp + 0x3e4]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xa4], eax
mov dword [rbp + 0x84], 0
mov eax, dword [rbp + 0xc4]
and eax, 0x100
test eax, eax
je 0x180043c5f
mov byte [rbp + 0x524], 1
mov eax, dword [rbp + 0xc4]
and eax, 0x400
test eax, eax
je 0x180043b5d
mov byte [rbp + 0x524], 0
mov eax, 1
imul rax, rax, 0
movzx ecx, byte [rbp + 0x524]
mov byte [rbp + rax + 0x388], cl
mov eax, 1
imul rax, rax, 1
mov byte [rbp + rax + 0x388], 0x20
mov eax, dword [rbp + 0xc4]
shr eax, 0x18
test eax, eax
je 0x180043c5f
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x180043bd0
mov eax, dword [rbp + 0xc4]
shr eax, 0x18
mov eax, eax
lea rcx, str._KMGT
movsx edx, byte [rbp + 0x524]
inc edx
movsxd rdx, edx
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x388], al
jmp 0x180043bf9
mov eax, dword [rbp + 0xc4]
shr eax, 0x18
mov eax, eax
lea rcx, str._kMGT
movsx edx, byte [rbp + 0x524]
inc edx
movsxd rdx, edx
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x388], al
movzx eax, byte [rbp + 0x524]
inc al
mov byte [rbp + 0x524], al
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x180043c48
mov eax, dword [rbp + 0xc4]
and eax, 0x1000
test eax, eax
jne 0x180043c48
movsx eax, byte [rbp + 0x524]
inc eax
cdqe
mov byte [rbp + rax + 0x388], 0x69
movzx eax, byte [rbp + 0x524]
inc al
mov byte [rbp + 0x524], al
mov eax, 1
imul rax, rax, 0
movzx ecx, byte [rbp + 0x524]
mov byte [rbp + rax + 0x388], cl
lea rax, [rbp + 0x190]
mov rcx, qword [rbp + 0x3a8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x3e4], eax
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3a8], rax
jmp 0x1800446e5
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x42
jne 0x180043cb7
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180043cc5
lea rax, str.0123456789abcdefxp
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x3c8], rax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xde8], rax
cmp qword [rbp + 0xde8], 8
jae 0x180043cef
jmp 0x180043cf4
call fcn.1802257b0
mov rax, qword [rbp + 0xde8]
mov byte [rbp + rax + 0x368], 0
mov eax, dword [rbp + 0xc4]
and eax, 8
test eax, eax
je 0x180043d56
mov eax, 1
imul rax, rax, 0
mov byte [rbp + rax + 0x368], 2
mov eax, 1
imul rax, rax, 1
mov byte [rbp + rax + 0x368], 0x30
mov eax, 1
imul rax, rax, 0xb
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x368], al
mov dword [rbp + 0x3e4], 0x180
jmp 0x180043ee2
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0x3c8], rax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe08], rax
cmp qword [rbp + 0xe08], 8
jae 0x180043d94
jmp 0x180043d99
call fcn.1802257b0
mov rax, qword [rbp + 0xe08]
mov byte [rbp + rax + 0x368], 0
mov eax, dword [rbp + 0xc4]
and eax, 8
test eax, eax
je 0x180043dd7
mov eax, 1
imul rax, rax, 0
mov byte [rbp + rax + 0x368], 1
mov eax, 1
imul rax, rax, 1
mov byte [rbp + rax + 0x368], 0x30
mov dword [rbp + 0x3e4], 0x330
jmp 0x180043ee2
mov eax, dword [rbp + 0xc4]
or eax, 0x20
mov dword [rbp + 0xc4], eax
mov dword [rbp + 0x84], 0x10
mov eax, dword [rbp + 0xc4]
and eax, 0xffffffef
mov dword [rbp + 0xc4], eax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x58
jne 0x180043e39
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180043e47
lea rax, str.0123456789abcdefxp
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x3c8], rax
mov dword [rbp + 0x3e4], 0x440
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe28], rax
cmp qword [rbp + 0xe28], 8
jae 0x180043e7b
jmp 0x180043e80
call fcn.1802257b0
mov rax, qword [rbp + 0xe28]
mov byte [rbp + rax + 0x368], 0
mov eax, dword [rbp + 0xc4]
and eax, 8
test eax, eax
je 0x180043ee2
mov eax, 1
imul rax, rax, 0
mov byte [rbp + rax + 0x368], 2
mov eax, 1
imul rax, rax, 1
mov byte [rbp + rax + 0x368], 0x30
mov eax, 1
imul rax, rax, 0x10
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x368], al
mov eax, dword [rbp + 0xc4]
and eax, 0x20
test eax, eax
je 0x180043f52
xor eax, eax
test eax, eax
je 0x180043f1e
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov rax, qword [rax]
mov qword [rbp + 0xed8], rax
jmp 0x180043f42
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x448], rax
jmp 0x180043fae
xor eax, eax
test eax, eax
je 0x180043f7f
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov eax, dword [rax]
mov dword [rbp + 0xed4], eax
jmp 0x180043fa1
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov eax, dword [rax - 8]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
mov qword [rbp + 0x448], rax
lea rax, [rbp + 0x350]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x484], 0
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe48], rax
cmp qword [rbp + 0xe48], 8
jae 0x180043fe2
jmp 0x180043fe7
call fcn.1802257b0
mov rax, qword [rbp + 0xe48]
mov byte [rbp + rax + 0x388], 0
cmp qword [rbp + 0x448], 0
jne 0x180044057
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe68], rax
cmp qword [rbp + 0xe68], 8
jae 0x18004401c
jmp 0x180044021
call fcn.1802257b0
mov rax, qword [rbp + 0xe68]
mov byte [rbp + rax + 0x368], 0
cmp dword [rbp + 0x84], 0
jne 0x180044057
mov dword [rbp + 0x3e4], 0
mov dword [rbp + 0x424], 0
jmp 0x1800446e5
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x3e4]
shr eax, 8
mov ecx, 1
mov dword [rbp + 0xed4], ecx
movzx ecx, al
mov eax, dword [rbp + 0xed4]
shl eax, cl
dec eax
cdqe
mov rcx, qword [rbp + 0x448]
and rcx, rax
mov rax, rcx
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x3c8]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov eax, dword [rbp + 0x3e4]
shr eax, 8
mov eax, eax
movzx ecx, al
mov rax, qword [rbp + 0x448]
shr rax, cl
mov qword [rbp + 0x448], rax
cmp qword [rbp + 0x448], 0
jne 0x1800440ed
lea rax, [rbp + 0x350]
sub rax, qword [rbp + 0x3a8]
cmp eax, dword [rbp + 0x84]
jl 0x1800440ed
jmp 0x180044156
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180044151
mov eax, dword [rbp + 0x3e4]
inc eax
mov dword [rbp + 0x3e4], eax
mov eax, dword [rbp + 0x3e4]
and eax, 0xf
mov ecx, dword [rbp + 0x3e4]
shr ecx, 4
and ecx, 0xf
cmp eax, ecx
jne 0x180044151
mov eax, dword [rbp + 0x3e4]
and eax, 0xfffffff0
mov dword [rbp + 0x3e4], eax
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
jmp 0x180044057
lea rax, [rbp + 0x350]
sub rax, qword [rbp + 0x3a8]
mov ecx, dword [rbp + 0x3e4]
shr ecx, 4
and ecx, 0xf
shl ecx, 0x18
add eax, ecx
mov dword [rbp + 0x424], eax
lea rax, [rbp + 0x350]
sub rax, qword [rbp + 0x3a8]
mov dword [rbp + 0x3e4], eax
jmp 0x1800446e5
mov eax, dword [rbp + 0xc4]
and eax, 0x20
test eax, eax
je 0x18004425f
xor eax, eax
test eax, eax
je 0x1800441d9
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov rax, qword [rax]
mov qword [rbp + 0xed8], rax
jmp 0x1800441fd
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov qword [rbp + 0xed8], rax
mov rax, qword [rbp + 0xed8]
mov qword [rbp + 0x548], rax
mov rax, qword [rbp + 0x548]
mov qword [rbp + 0x448], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x75
je 0x18004425a
cmp qword [rbp + 0x548], 0
jge 0x18004425a
mov rax, qword [rbp + 0x548]
neg rax
mov qword [rbp + 0x448], rax
mov eax, dword [rbp + 0xc4]
bts eax, 7
mov dword [rbp + 0xc4], eax
jmp 0x180044307
xor eax, eax
test eax, eax
je 0x18004428c
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov rax, qword [rax - 8]
mov eax, dword [rax]
mov dword [rbp + 0xed4], eax
jmp 0x1800442ae
mov rax, qword [rbp + 0xf30]
add rax, 8
mov qword [rbp + 0xf30], rax
mov rax, qword [rbp + 0xf30]
mov eax, dword [rax - 8]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x564], eax
mov eax, dword [rbp + 0x564]
mov qword [rbp + 0x448], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x75
je 0x180044307
cmp dword [rbp + 0x564], 0
jge 0x180044307
mov eax, dword [rbp + 0x564]
neg eax
mov eax, eax
mov qword [rbp + 0x448], rax
mov eax, dword [rbp + 0xc4]
bts eax, 7
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0xc4]
and eax, 0x100
test eax, eax
je 0x180044358
cmp qword [rbp + 0x448], 0x400
jae 0x18004432f
mov dword [rbp + 0x84], 0
jmp 0x180044342
cmp dword [rbp + 0x84], 0xffffffff
jne 0x180044342
mov dword [rbp + 0x84], 1
cvtsi2sd xmm0, qword [rbp + 0x448]
movsd qword [rbp + 0x468], xmm0
jmp 0x180043379
lea rax, [rbp + 0x350]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x3e4], 0
mov rax, qword [rbp + 0x3a8]
sub rax, 8
mov qword [rbp + 0x588], rax
cmp qword [rbp + 0x448], 0x5f5e100
jb 0x1800443c3
xor edx, edx
mov rax, qword [rbp + 0x448]
mov ecx, 0x5f5e100
div rcx
mov rax, rdx
mov dword [rbp + 0x404], eax
xor edx, edx
mov rax, qword [rbp + 0x448]
mov ecx, 0x5f5e100
div rcx
mov qword [rbp + 0x448], rax
jmp 0x1800443da
mov eax, dword [rbp + 0x448]
mov dword [rbp + 0x404], eax
mov qword [rbp + 0x448], 0
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
jne 0x180044441
mov rax, qword [rbp + 0x3a8]
sub rax, 2
mov qword [rbp + 0x3a8], rax
xor edx, edx
mov eax, dword [rbp + 0x404]
mov ecx, 0x64
div ecx
mov eax, edx
shl eax, 1
mov eax, eax
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov rdx, qword [rbp + 0x3a8]
movzx eax, word [rcx + rax]
mov word [rdx], ax
xor edx, edx
mov eax, dword [rbp + 0x404]
mov ecx, 0x64
div ecx
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0x404], 0
jne 0x1800443e7
cmp dword [rbp + 0x404], 0
je 0x18004452a
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x1800444df
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0x3e4]
inc eax
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0xed4], 3
jne 0x18004448e
mov dword [rbp + 0xed8], 1
jmp 0x180044498
mov dword [rbp + 0xed8], 0
cmp dword [rbp + 0xed8], 0
je 0x1800444df
mov dword [rbp + 0x3e4], 0
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
mov rax, qword [rbp + 0x588]
dec rax
mov qword [rbp + 0x588], rax
jmp 0x180044525
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
xor edx, edx
mov eax, dword [rbp + 0x404]
mov ecx, 0xa
div ecx
mov eax, edx
movsx eax, al
add eax, 0x30
mov rcx, qword [rbp + 0x3a8]
mov byte [rcx], al
xor edx, edx
mov eax, dword [rbp + 0x404]
mov ecx, 0xa
div ecx
mov dword [rbp + 0x404], eax
jmp 0x180044441
cmp qword [rbp + 0x448], 0
jne 0x180044573
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x3a8]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jne 0x18004456e
lea rax, [rbp + 0x350]
cmp qword [rbp + 0x3a8], rax
je 0x18004456e
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x18004463d
mov rax, qword [rbp + 0x588]
cmp qword [rbp + 0x3a8], rax
je 0x180044638
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180044618
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0x3e4]
inc eax
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0xed4], 3
jne 0x1800445c7
mov dword [rbp + 0xed8], 1
jmp 0x1800445d1
mov dword [rbp + 0xed8], 0
cmp dword [rbp + 0xed8], 0
je 0x180044618
mov dword [rbp + 0x3e4], 0
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
mov rax, qword [rbp + 0x588]
dec rax
mov qword [rbp + 0x588], rax
jmp 0x180044633
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
jmp 0x180044573
jmp 0x180044370
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe88], rax
cmp qword [rbp + 0xe88], 8
jae 0x180044659
jmp 0x18004465e
call fcn.1802257b0
mov rax, qword [rbp + 0xe88]
mov byte [rbp + rax + 0x388], 0
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.18003ffd0
lea rax, [rbp + 0x350]
sub rax, qword [rbp + 0x3a8]
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0x3e4], 0
jne 0x1800446c1
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
mov dword [rbp + 0x3e4], 1
mov eax, dword [rbp + 0x3e4]
add eax, 0x3000000
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x84], 0
jge 0x1800446e5
mov dword [rbp + 0x84], 0
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x84], eax
jge 0x1800446ff
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0x84], eax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
mov ecx, dword [rbp + 0x84]
add ecx, eax
mov eax, ecx
mov ecx, 1
imul rcx, rcx, 0
movsx ecx, byte [rbp + rcx + 0x388]
mov edx, dword [rbp + 0xa4]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x404]
cmp dword [rbp + 0x64], eax
jge 0x180044753
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x3e4]
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0xc4]
and eax, 1
test eax, eax
jne 0x1800447d9
mov eax, dword [rbp + 0xc4]
and eax, 0x10
test eax, eax
je 0x1800447ca
mov eax, dword [rbp + 0x84]
cmp dword [rbp + 0x64], eax
jle 0x1800447a9
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0xed4], eax
jmp 0x1800447b5
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x84], eax
mov dword [rbp + 0x64], 0
jmp 0x1800447d9
mov eax, dword [rbp + 0xc4]
and eax, 0xffffffbf
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0x84]
mov ecx, dword [rbp + 0x64]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x180044dcd
mov eax, dword [rbp + 0xc4]
and eax, 1
test eax, eax
jne 0x180044990
cmp dword [rbp + 0x64], 0
jle 0x180044990
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x5a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180044856
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x5e4], eax
mov eax, dword [rbp + 0x5e4]
cmp dword [rbp + 0x5a4], eax
jle 0x180044856
mov eax, dword [rbp + 0x5e4]
mov dword [rbp + 0x5a4], eax
mov eax, dword [rbp + 0x5a4]
mov ecx, dword [rbp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x5a4], 0
je 0x1800448a0
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x18004487e
jmp 0x1800448a0
mov rax, qword [rbp + 8]
mov byte [rax], 0x20
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
dec eax
mov dword [rbp + 0x5a4], eax
jmp 0x180044866
cmp dword [rbp + 0x5a4], 4
jl 0x1800448d0
mov rax, qword [rbp + 8]
mov dword [rax], 0x20202020
mov rax, qword [rbp + 8]
add rax, 4
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
sub eax, 4
mov dword [rbp + 0x5a4], eax
jmp 0x1800448a0
cmp dword [rbp + 0x5a4], 0
je 0x1800448fb
mov rax, qword [rbp + 8]
mov byte [rax], 0x20
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
dec eax
mov dword [rbp + 0x5a4], eax
jmp 0x1800448d0
cmp qword [rbp + 0xf10], 0
je 0x18004498b
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x604], eax
mov eax, dword [rbp + 0x604]
inc eax
cmp eax, 0x200
jl 0x18004498b
mov eax, dword [rbp + 0x604]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x604]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x18004498b
jmp 0x18004575d
jmp 0x1800447ff
lea rax, [rbp + 0x369]
mov qword [rbp + 0x4a8], rax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
test eax, eax
je 0x180044b25
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
mov dword [rbp + 0x5a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180044a12
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x624], eax
mov eax, dword [rbp + 0x624]
cmp dword [rbp + 0x5a4], eax
jle 0x180044a12
mov eax, dword [rbp + 0x624]
mov dword [rbp + 0x5a4], eax
movsx eax, byte [rbp + 0x5a4]
mov ecx, 1
imul rcx, rcx, 0
movsx ecx, byte [rbp + rcx + 0x368]
sub ecx, eax
mov eax, ecx
mov ecx, 1
imul rcx, rcx, 0
mov byte [rbp + rcx + 0x368], al
cmp dword [rbp + 0x5a4], 0
je 0x180044a90
mov rax, qword [rbp + 0x4a8]
movzx eax, byte [rax]
mov byte [rbp + 0xed4], al
mov rax, qword [rbp + 0x4a8]
inc rax
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0xed4]
mov byte [rax], cl
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
dec eax
mov dword [rbp + 0x5a4], eax
jmp 0x180044a3e
cmp qword [rbp + 0xf10], 0
je 0x180044b20
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x644], eax
mov eax, dword [rbp + 0x644]
inc eax
cmp eax, 0x200
jl 0x180044b20
mov eax, dword [rbp + 0x644]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x644]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x180044b20
jmp 0x18004575d
jmp 0x18004499e
mov eax, dword [rbp + 0x424]
shr eax, 0x18
mov dword [rbp + 0x5c4], eax
mov eax, dword [rbp + 0x424]
and eax, 0xffffff
mov dword [rbp + 0x424], eax
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180044b82
mov eax, dword [rbp + 0x424]
mov ecx, dword [rbp + 0x84]
add ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0x5c4]
inc ecx
xor edx, edx
div ecx
mov eax, edx
mov ecx, dword [rbp + 0x5c4]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xed4], eax
jmp 0x180044b8c
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x84], 0
jle 0x180044dcd
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x5a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180044bf5
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x664], eax
mov eax, dword [rbp + 0x664]
cmp dword [rbp + 0x5a4], eax
jle 0x180044bf5
mov eax, dword [rbp + 0x664]
mov dword [rbp + 0x5a4], eax
mov eax, dword [rbp + 0x5a4]
mov ecx, dword [rbp + 0x84]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
jne 0x180044c82
cmp dword [rbp + 0x5a4], 0
je 0x180044c52
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x180044c30
jmp 0x180044c52
mov rax, qword [rbp + 8]
mov byte [rax], 0x30
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
dec eax
mov dword [rbp + 0x5a4], eax
jmp 0x180044c18
cmp dword [rbp + 0x5a4], 4
jl 0x180044c82
mov rax, qword [rbp + 8]
mov dword [rax], 0x30303030
mov rax, qword [rbp + 8]
add rax, 4
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
sub eax, 4
mov dword [rbp + 0x5a4], eax
jmp 0x180044c52
cmp dword [rbp + 0x5a4], 0
je 0x180044d38
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180044d13
mov eax, dword [rbp + 0x424]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0x5c4]
mov dword [rbp + 0xed8], eax
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
mov eax, dword [rbp + 0xed8]
cmp dword [rbp + 0xed4], eax
jne 0x180044cdc
mov dword [rbp + 0xedc], 1
jmp 0x180044ce6
mov dword [rbp + 0xedc], 0
cmp dword [rbp + 0xedc], 0
je 0x180044d13
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [0x1802c2021]
mov byte [rax], cl
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
jmp 0x180044d25
mov rax, qword [rbp + 8]
mov byte [rax], 0x30
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x5a4]
dec eax
mov dword [rbp + 0x5a4], eax
jmp 0x180044c82
cmp qword [rbp + 0xf10], 0
je 0x180044dc8
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x684], eax
mov eax, dword [rbp + 0x684]
inc eax
cmp eax, 0x200
jl 0x180044dc8
mov eax, dword [rbp + 0x684]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x684]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x180044dc8
jmp 0x18004575d
jmp 0x180044b98
lea rax, [rbp + 0x369]
mov qword [rbp + 0x4a8], rax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
test eax, eax
je 0x180044f62
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
mov dword [rbp + 0x6a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180044e4f
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x6c4], eax
mov eax, dword [rbp + 0x6c4]
cmp dword [rbp + 0x6a4], eax
jle 0x180044e4f
mov eax, dword [rbp + 0x6c4]
mov dword [rbp + 0x6a4], eax
movsx eax, byte [rbp + 0x6a4]
mov ecx, 1
imul rcx, rcx, 0
movsx ecx, byte [rbp + rcx + 0x368]
sub ecx, eax
mov eax, ecx
mov ecx, 1
imul rcx, rcx, 0
mov byte [rbp + rcx + 0x368], al
cmp dword [rbp + 0x6a4], 0
je 0x180044ecd
mov rax, qword [rbp + 0x4a8]
movzx eax, byte [rax]
mov byte [rbp + 0xed4], al
mov rax, qword [rbp + 0x4a8]
inc rax
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0xed4]
mov byte [rax], cl
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x6a4]
dec eax
mov dword [rbp + 0x6a4], eax
jmp 0x180044e7b
cmp qword [rbp + 0xf10], 0
je 0x180044f5d
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x6e4], eax
mov eax, dword [rbp + 0x6e4]
inc eax
cmp eax, 0x200
jl 0x180044f5d
mov eax, dword [rbp + 0x6e4]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x6e4]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x180044f5d
jmp 0x18004575d
jmp 0x180044ddb
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0x404], 0
je 0x18004510f
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x704], eax
cmp qword [rbp + 0xf10], 0
je 0x180044fcb
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x724], eax
mov eax, dword [rbp + 0x724]
cmp dword [rbp + 0x704], eax
jle 0x180044fcb
mov eax, dword [rbp + 0x724]
mov dword [rbp + 0x704], eax
mov eax, dword [rbp + 0x704]
mov ecx, dword [rbp + 0x404]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0x704], 4
jl 0x180045028
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x3a8]
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rbp + 8]
add rax, 4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x3a8]
add rax, 4
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp + 0x704]
sub eax, 4
mov dword [rbp + 0x704], eax
jmp 0x180044fe1
cmp dword [rbp + 0x704], 0
je 0x18004507a
mov rax, qword [rbp + 0x3a8]
movzx eax, byte [rax]
mov byte [rbp + 0xed4], al
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0xed4]
mov byte [rax], cl
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x704]
dec eax
mov dword [rbp + 0x704], eax
jmp 0x180045028
cmp qword [rbp + 0xf10], 0
je 0x18004510a
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x744], eax
mov eax, dword [rbp + 0x744]
inc eax
cmp eax, 0x200
jl 0x18004510a
mov eax, dword [rbp + 0x744]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x744]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x18004510a
jmp 0x18004575d
jmp 0x180044f6e
cmp dword [rbp + 0xa4], 0
je 0x1800452ac
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x764], eax
cmp qword [rbp + 0xf10], 0
je 0x18004516c
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x784], eax
mov eax, dword [rbp + 0x784]
cmp dword [rbp + 0x764], eax
jle 0x18004516c
mov eax, dword [rbp + 0x784]
mov dword [rbp + 0x764], eax
mov eax, dword [rbp + 0x764]
mov ecx, dword [rbp + 0xa4]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xa4], eax
cmp dword [rbp + 0x764], 0
je 0x1800451bc
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x18004519a
jmp 0x1800451bc
mov rax, qword [rbp + 8]
mov byte [rax], 0x30
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x764]
dec eax
mov dword [rbp + 0x764], eax
jmp 0x180045182
cmp dword [rbp + 0x764], 4
jl 0x1800451ec
mov rax, qword [rbp + 8]
mov dword [rax], 0x30303030
mov rax, qword [rbp + 8]
add rax, 4
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x764]
sub eax, 4
mov dword [rbp + 0x764], eax
jmp 0x1800451bc
cmp dword [rbp + 0x764], 0
je 0x180045217
mov rax, qword [rbp + 8]
mov byte [rax], 0x30
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x764]
dec eax
mov dword [rbp + 0x764], eax
jmp 0x1800451ec
cmp qword [rbp + 0xf10], 0
je 0x1800452a7
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x7a4], eax
mov eax, dword [rbp + 0x7a4]
inc eax
cmp eax, 0x200
jl 0x1800452a7
mov eax, dword [rbp + 0x7a4]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x7a4]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x1800452a7
jmp 0x18004575d
jmp 0x18004510f
lea rax, [rbp + 0x389]
mov qword [rbp + 0x4a8], rax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x388]
test eax, eax
je 0x180045441
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x388]
mov dword [rbp + 0x7c4], eax
cmp qword [rbp + 0xf10], 0
je 0x18004532e
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x7e4], eax
mov eax, dword [rbp + 0x7e4]
cmp dword [rbp + 0x7c4], eax
jle 0x18004532e
mov eax, dword [rbp + 0x7e4]
mov dword [rbp + 0x7c4], eax
movsx eax, byte [rbp + 0x7c4]
mov ecx, 1
imul rcx, rcx, 0
movsx ecx, byte [rbp + rcx + 0x388]
sub ecx, eax
mov eax, ecx
mov ecx, 1
imul rcx, rcx, 0
mov byte [rbp + rcx + 0x388], al
cmp dword [rbp + 0x7c4], 0
je 0x1800453ac
mov rax, qword [rbp + 0x4a8]
movzx eax, byte [rax]
mov byte [rbp + 0xed4], al
mov rax, qword [rbp + 0x4a8]
inc rax
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 8]
movzx ecx, byte [rbp + 0xed4]
mov byte [rax], cl
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x7c4]
dec eax
mov dword [rbp + 0x7c4], eax
jmp 0x18004535a
cmp qword [rbp + 0xf10], 0
je 0x18004543c
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x804], eax
mov eax, dword [rbp + 0x804]
inc eax
cmp eax, 0x200
jl 0x18004543c
mov eax, dword [rbp + 0x804]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x804]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x18004543c
jmp 0x18004575d
jmp 0x1800452ba
mov eax, dword [rbp + 0xc4]
and eax, 1
test eax, eax
je 0x1800455f9
cmp dword [rbp + 0x64], 0
jle 0x1800455f9
cmp dword [rbp + 0x64], 0
je 0x1800455f9
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x824], eax
cmp qword [rbp + 0xf10], 0
je 0x1800454b3
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, 0x200
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x844], eax
mov eax, dword [rbp + 0x844]
cmp dword [rbp + 0x824], eax
jle 0x1800454b3
mov eax, dword [rbp + 0x844]
mov dword [rbp + 0x824], eax
mov eax, dword [rbp + 0x824]
mov ecx, dword [rbp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x824], 0
je 0x1800454fd
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x1800454db
jmp 0x1800454fd
mov rax, qword [rbp + 8]
mov byte [rax], 0x20
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x824]
dec eax
mov dword [rbp + 0x824], eax
jmp 0x1800454c3
cmp dword [rbp + 0x824], 4
jl 0x18004552d
mov rax, qword [rbp + 8]
mov dword [rax], 0x20202020
mov rax, qword [rbp + 8]
add rax, 4
mov qword [rbp + 8], rax
mov eax, dword [rbp + 0x824]
sub eax, 4
mov dword [rbp + 0x824], eax
jmp 0x1800454fd
mov eax, dword [rbp + 0x824]
mov dword [rbp + 0xed4], eax
mov eax, dword [rbp + 0x824]
dec eax
mov dword [rbp + 0x824], eax
cmp dword [rbp + 0xed4], 0
je 0x180045564
mov rax, qword [rbp + 8]
mov byte [rax], 0x20
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
jmp 0x18004552d
cmp qword [rbp + 0xf10], 0
je 0x1800455f4
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x864], eax
mov eax, dword [rbp + 0x864]
inc eax
cmp eax, 0x200
jl 0x1800455f4
mov eax, dword [rbp + 0x864]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x864]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x1800455f4
jmp 0x18004575d
jmp 0x18004545c
jmp 0x1800456c6
lea rax, [rbp + 0x34f]
mov qword [rbp + 0x3a8], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x3a8]
mov rdx, qword [rbp + 0x28]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov dword [rbp + 0x3e4], 1
mov dword [rbp + 0xc4], 0
mov eax, dword [rbp + 0xc4]
mov dword [rbp + 0x64], eax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xea8], rax
cmp qword [rbp + 0xea8], 8
jae 0x18004565f
jmp 0x180045664
call fcn.1802257b0
mov rax, qword [rbp + 0xea8]
mov byte [rbp + rax + 0x368], 0
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xec8], rax
cmp qword [rbp + 0xec8], 8
jae 0x18004568f
jmp 0x180045694
call fcn.1802257b0
mov rax, qword [rbp + 0xec8]
mov byte [rbp + rax + 0x388], 0
mov dword [rbp + 0x84], 0
mov dword [rbp + 0x484], 0
mov dword [rbp + 0x424], 0
jmp 0x1800446e5
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180041dd9
cmp qword [rbp + 0xf10], 0
jne 0x1800456e9
mov rax, qword [rbp + 8]
mov byte [rax], 0
jmp 0x18004575d
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov dword [rbp + 0x884], eax
mov eax, dword [rbp + 0x884]
add eax, 0x1ff
cmp eax, 0x200
jl 0x18004575d
mov eax, dword [rbp + 0x884]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xed8], rax
mov r8d, dword [rbp + 0x884]
mov rdx, qword [rbp + 0xf18]
mov rcx, qword [rbp + 0xf20]
call qword [rbp + 0xed8]
mov qword [rbp + 0xf20], rax
mov rax, qword [rbp + 0xf20]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0xf20]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1802360f0]
call fcn.180225a10
mov rax, rdi
mov rcx, qword [rbp + 0xee0]
xor rcx, rbp
call fcn.180225d60
lea rsp, [rbp + 0xef8]
pop rdi
pop rbp
ret