Function at 0x1800421d0
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 [0x180370940]
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 0x18004234b
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x25
jne 0x18004226a
jmp 0x1800423ff
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x180042289
jmp 0x180045b36
cmp qword [rbp + 0xf10], 0
je 0x180042319
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 0x180042319
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 0x180042319
jmp 0x180045bbd
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 0x180042239
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 0x180042389
jmp 0x18004224a
mov eax, dword [rbp + 0x104]
sub eax, 0x1010101
and eax, dword [rbp + 0x124]
test eax, eax
je 0x1800423a3
jmp 0x18004226a
cmp qword [rbp + 0xf10], 0
je 0x1800423d1
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 0x1800423d1
jmp 0x18004224a
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 0x18004234b
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.0x180042482.1
movsxd rax, dword [rbp + 0xed4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x45c28]
mov eax, dword [rcx + rax*4 + 0x45c04]
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 0x18004242f
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 0x18004242f
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 0x18004242f
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 0x18004242f
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 0x18004242f
mov eax, dword [rbp + 0xc4]
and eax, 0x100
test eax, eax
je 0x18004255e
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x18004254c
mov eax, dword [rbp + 0xc4]
bts eax, 0xc
mov dword [rbp + 0xc4], eax
jmp 0x18004255c
mov eax, dword [rbp + 0xc4]
bts eax, 0xb
mov dword [rbp + 0xc4], eax
jmp 0x18004256e
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 0x18004242f
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 0x18004242f
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 0x1800425c5
jmp 0x1800425c5
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x2a
jne 0x180042640
xor eax, eax
test eax, eax
je 0x180042608
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 0x18004262a
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 0x180042695
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jl 0x180042695
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x39
jg 0x180042695
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 0x180042640
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x2e
jne 0x18004279d
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 0x180042738
xor eax, eax
test eax, eax
je 0x1800426fd
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 0x18004271f
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 0x18004279d
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 0x18004279d
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x39
jg 0x18004279d
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 0x180042742
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.0x1800427f0.1
movsxd rax, dword [rbp + 0xed4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x45c84]
mov eax, dword [rcx + rax*4 + 0x45c68]
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 0x18004282e
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp case.0x1800427f0.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 0x18004287a
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.0x1800427f0.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.0x1800427f0.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.0x1800427f0.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.0x1800427f0.1
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x36
jne 0x180042925
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x34
jne 0x180042925
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.0x1800427f0.1
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x33
jne 0x18004295f
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x32
jne 0x18004295f
mov rax, qword [rbp + 0x28]
add rax, 3
mov qword [rbp + 0x28], rax
jmp case.0x1800427f0.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.0x1800429cc.2
movsxd rax, dword [rbp + 0xed4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x45d08]
mov eax, dword [rcx + rax*4 + 0x45cb8]
add rax, rcx
jmp rax
xor eax, eax
test eax, eax
je 0x1800429fd
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 0x180042a21
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 0x180042a47
lea rax, str.null
mov qword [rbp + 0x3a8], rax
cmp dword [rbp + 0x84], 0
jl 0x180042a5e
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0xed4], eax
jmp 0x180042a68
mov dword [rbp + 0xed4], 0xffffffff
mov edx, dword [rbp + 0xed4]
mov rcx, qword [rbp + 0x3a8]
call fcn.180041cb0
mov dword [rbp + 0x3e4], eax
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xd28], rax
cmp qword [rbp + 0xd28], 8
jae 0x180042a9c
jmp 0x180042aa1
call fcn.180224820
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 0x180042acc
jmp 0x180042ad1
call fcn.180224820
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 0x180044b45
lea rax, [rbp + 0x34f]
mov qword [rbp + 0x3a8], rax
xor eax, eax
test eax, eax
je 0x180042b43
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 0x180042b65
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 0x180042b9b
jmp 0x180042ba0
call fcn.180224820
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 0x180042bcb
jmp 0x180042bd0
call fcn.180224820
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 0x180044b45
xor eax, eax
test eax, eax
je 0x180042c36
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 0x180042c5a
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 0x180045b26
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x41
jne 0x180042cb4
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180042cc2
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 0x180042d01
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 0x180042d27
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 0x180042d4a
mov dword [rbp + 0x84], 6
movsd xmm2, qword [rbp + 0x468]
lea rdx, [rbp + 0x484]
lea rcx, [rbp + 0x448]
call fcn.180041510
test eax, eax
je 0x180042d79
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.180040430
cmp dword [rbp + 0x484], 0xfffffc01
jne 0x180042dd3
cmp qword [rbp + 0x448], 0
je 0x180042dbb
mov dword [rbp + 0xed4], 0xfffffc02
jmp 0x180042dc5
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x484], eax
jmp 0x180042df1
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 0x180042e47
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 0x180042f16
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1020]
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 0x180042f43
mov dword [rbp + 0x404], 0xd
mov eax, dword [rbp + 0x404]
cmp dword [rbp + 0x84], eax
jle 0x180042f67
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 0x180042fdc
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 0x180042f71
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 0x18004302a
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 0x18004303b
mov eax, 1
imul rax, rax, 2
mov byte [rbp + rax + 0x388], 0x2b
cmp dword [rbp + 0x484], 0x3e8
jl 0x180043053
mov dword [rbp + 0xed4], 6
jmp 0x18004309f
cmp dword [rbp + 0x484], 0x64
jl 0x180043068
mov dword [rbp + 0xed8], 5
jmp 0x180043093
cmp dword [rbp + 0x484], 0xa
jl 0x18004307d
mov dword [rbp + 0xedc], 4
jmp 0x180043087
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 0x1800430ed
jmp 0x180043111
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 0x1800430c2
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 0x180044b45
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x47
jne 0x18004318d
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x18004319b
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 0x1800431da
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 0x180043200
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 0x180043225
mov dword [rbp + 0x84], 6
jmp 0x180043238
cmp dword [rbp + 0x84], 0
jne 0x180043238
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.1800415f0
test eax, eax
je 0x18004328b
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 0x1800432b1
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0x3e4], 1
jbe 0x1800432fb
cmp dword [rbp + 0x84], 0
je 0x1800432fb
mov eax, dword [rbp + 0x3e4]
dec eax
mov eax, eax
mov rcx, qword [rbp + 0x4a8]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jne 0x1800432fb
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 0x1800432b1
cmp dword [rbp + 0x484], 0xfffffffc
jle 0x180043312
mov eax, dword [rbp + 0x404]
cmp dword [rbp + 0x484], eax
jle 0x180043351
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x84], eax
jle 0x180043330
mov eax, dword [rbp + 0x3e4]
dec eax
mov dword [rbp + 0x84], eax
jmp 0x180043347
cmp dword [rbp + 0x84], 0
je 0x180043347
mov eax, dword [rbp + 0x84]
dec eax
mov dword [rbp + 0x84], eax
jmp 0x1800434eb
cmp dword [rbp + 0x484], 0
jle 0x180043398
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x484], eax
jge 0x180043380
mov eax, dword [rbp + 0x484]
mov ecx, dword [rbp + 0x3e4]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xed4], eax
jmp 0x18004338a
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x84], eax
jmp 0x1800433d4
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x84], eax
jle 0x1800433b4
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0xed4], eax
jmp 0x1800433c0
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 0x1800438e3
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x180043404
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180043412
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 0x180043451
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 0x180043477
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 0x18004349a
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.1800415f0
test eax, eax
je 0x1800434eb
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 0x180043507
jmp 0x18004350c
call fcn.180224820
mov rax, qword [rbp + 0xda8]
mov byte [rbp + rax + 0x388], 0
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.180040430
cmp dword [rbp + 0x484], 0x7000
jne 0x180043565
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x424], 0
mov dword [rbp + 0x84], 0
jmp 0x180044b45
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 0x1800435cb
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1020]
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 0x1800435e9
mov eax, dword [rbp + 0x84]
inc eax
mov dword [rbp + 0x3e4], eax
mov dword [rbp + 0x404], 1
jmp 0x180043603
mov eax, dword [rbp + 0x404]
inc eax
mov dword [rbp + 0x404], eax
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x404], eax
jae 0x18004363e
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 0x1800435f5
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 0x1800436bc
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 0x1800436cd
mov eax, 1
imul rax, rax, 2
mov byte [rbp + rax + 0x388], 0x2b
cmp dword [rbp + 0x484], 0x64
jl 0x1800436e2
mov dword [rbp + 0xed4], 5
jmp 0x1800436ec
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 0x18004373a
jmp 0x18004375e
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 0x18004370f
mov dword [rbp + 0x424], 0x3000001
jmp 0x1800440bf
xor eax, eax
test eax, eax
je 0x1800437a3
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 0x1800437c9
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 0x180043883
movsd xmm0, qword [0x18023bd80]
movsd qword [rbp + 0x4e8], xmm0
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x18004381b
movsd xmm0, qword [0x18023bd88]
movsd qword [rbp + 0x4e8], xmm0
cmp dword [rbp + 0xc4], 0x4000000
jae 0x180043883
movsd xmm0, qword [rbp + 0x4e8]
comisd xmm0, xmmword [rbp + 0x468]
jbe 0x180043858
movsd xmm0, qword [rbp + 0x4e8]
xorps xmm0, xmmword [0x18023be00]
movsd xmm1, qword [rbp + 0x468]
comisd xmm1, xmm0
jbe 0x180043858
jmp 0x180043883
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 0x18004381b
cmp dword [rbp + 0x84], 0xffffffff
jne 0x180043896
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.1800415f0
test eax, eax
je 0x1800438e3
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 0x1800438ff
jmp 0x180043904
call fcn.180224820
mov rax, qword [rbp + 0xdc8]
mov byte [rbp + rax + 0x388], 0
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.180040430
cmp dword [rbp + 0x484], 0x7000
jne 0x18004395d
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x424], 0
mov dword [rbp + 0x84], 0
jmp 0x180044b45
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3a8], rax
cmp dword [rbp + 0x484], 0
jg 0x180043b68
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 0x1800439bd
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1020]
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 0x1800439e5
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 0x180043a37
mov rax, qword [rbp + 0x3a8]
and rax, 3
test rax, rax
jne 0x180043a0c
jmp 0x180043a37
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 0x1800439f1
cmp dword [rbp + 0x504], 4
jl 0x180043a70
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 0x180043a37
cmp dword [rbp + 0x504], 0
je 0x180043aa4
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 0x180043a70
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x3e4]
add ecx, eax
mov eax, ecx
cmp eax, dword [rbp + 0x84]
jle 0x180043ad2
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 0x180043b39
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 0x180043ade
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 0x180043f83
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180043b93
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 0x180043b9d
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 0x180043dfa
mov dword [rbp + 0x404], 0
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180043c16
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x424], 4
jne 0x180043c16
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1021]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x180043c5f
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 0x180043c5f
jmp 0x180043c64
jmp 0x180043bc5
mov eax, dword [rbp + 0x484]
cmp dword [rbp + 0x404], eax
jae 0x180043da0
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 0x180043d18
cmp dword [rbp + 0x404], 0
je 0x180043cdf
mov rax, qword [rbp + 0x3a8]
and rax, 3
test rax, rax
jne 0x180043cb4
jmp 0x180043cdf
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 0x180043c99
cmp dword [rbp + 0x404], 4
jb 0x180043d18
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 0x180043cdf
cmp dword [rbp + 0x404], 0
je 0x180043da0
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180043d72
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x424], 4
jne 0x180043d72
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1021]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x180043d9b
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 0x180043d18
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 0x180043df5
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1020]
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 0x180043f83
mov dword [rbp + 0x404], 0
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180043e55
mov eax, dword [rbp + 0x424]
inc eax
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x424], 4
jne 0x180043e55
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1021]
mov byte [rax], cl
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x180043e9e
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 0x180043e9e
jmp 0x180043ea3
jmp 0x180043e04
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 0x180043eec
mov rax, qword [rbp + 0x3a8]
movzx ecx, byte [0x1802c1020]
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 0x180043f1a
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 0x180043f63
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 0x180043f1a
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 0x1800440bf
mov byte [rbp + 0x524], 1
mov eax, dword [rbp + 0xc4]
and eax, 0x400
test eax, eax
je 0x180043fbd
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 0x1800440bf
mov eax, dword [rbp + 0xc4]
and eax, 0x800
test eax, eax
je 0x180044030
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 0x180044059
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 0x1800440a8
mov eax, dword [rbp + 0xc4]
and eax, 0x1000
test eax, eax
jne 0x1800440a8
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 0x180044b45
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movsx eax, byte [rcx + rax]
cmp eax, 0x42
jne 0x180044117
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x180044125
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 0x18004414f
jmp 0x180044154
call fcn.180224820
mov rax, qword [rbp + 0xde8]
mov byte [rbp + rax + 0x368], 0
mov eax, dword [rbp + 0xc4]
and eax, 8
test eax, eax
je 0x1800441b6
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 0x180044342
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 0x1800441f4
jmp 0x1800441f9
call fcn.180224820
mov rax, qword [rbp + 0xe08]
mov byte [rbp + rax + 0x368], 0
mov eax, dword [rbp + 0xc4]
and eax, 8
test eax, eax
je 0x180044237
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 0x180044342
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 0x180044299
lea rax, str.0123456789ABCDEFXP
mov qword [rbp + 0xed8], rax
jmp 0x1800442a7
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 0x1800442db
jmp 0x1800442e0
call fcn.180224820
mov rax, qword [rbp + 0xe28]
mov byte [rbp + rax + 0x368], 0
mov eax, dword [rbp + 0xc4]
and eax, 8
test eax, eax
je 0x180044342
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 0x1800443b2
xor eax, eax
test eax, eax
je 0x18004437e
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 0x1800443a2
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 0x18004440e
xor eax, eax
test eax, eax
je 0x1800443df
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 0x180044401
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 0x180044442
jmp 0x180044447
call fcn.180224820
mov rax, qword [rbp + 0xe48]
mov byte [rbp + rax + 0x388], 0
cmp qword [rbp + 0x448], 0
jne 0x1800444b7
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe68], rax
cmp qword [rbp + 0xe68], 8
jae 0x18004447c
jmp 0x180044481
call fcn.180224820
mov rax, qword [rbp + 0xe68]
mov byte [rbp + rax + 0x368], 0
cmp dword [rbp + 0x84], 0
jne 0x1800444b7
mov dword [rbp + 0x3e4], 0
mov dword [rbp + 0x424], 0
jmp 0x180044b45
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 0x18004454d
lea rax, [rbp + 0x350]
sub rax, qword [rbp + 0x3a8]
cmp eax, dword [rbp + 0x84]
jl 0x18004454d
jmp 0x1800445b6
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x1800445b1
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 0x1800445b1
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 [0x1802c1021]
mov byte [rax], cl
jmp 0x1800444b7
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 0x180044b45
mov eax, dword [rbp + 0xc4]
and eax, 0x20
test eax, eax
je 0x1800446bf
xor eax, eax
test eax, eax
je 0x180044639
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 0x18004465d
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 0x1800446ba
cmp qword [rbp + 0x548], 0
jge 0x1800446ba
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 0x180044767
xor eax, eax
test eax, eax
je 0x1800446ec
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 0x18004470e
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 0x180044767
cmp dword [rbp + 0x564], 0
jge 0x180044767
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 0x1800447b8
cmp qword [rbp + 0x448], 0x400
jae 0x18004478f
mov dword [rbp + 0x84], 0
jmp 0x1800447a2
cmp dword [rbp + 0x84], 0xffffffff
jne 0x1800447a2
mov dword [rbp + 0x84], 1
cvtsi2sd xmm0, qword [rbp + 0x448]
movsd qword [rbp + 0x468], xmm0
jmp 0x1800437d9
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 0x180044823
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 0x18004483a
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 0x1800448a1
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 0x180044847
cmp dword [rbp + 0x404], 0
je 0x18004498a
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x18004493f
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 0x1800448ee
mov dword [rbp + 0xed8], 1
jmp 0x1800448f8
mov dword [rbp + 0xed8], 0
cmp dword [rbp + 0xed8], 0
je 0x18004493f
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 [0x1802c1021]
mov byte [rax], cl
mov rax, qword [rbp + 0x588]
dec rax
mov qword [rbp + 0x588], rax
jmp 0x180044985
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 0x1800448a1
cmp qword [rbp + 0x448], 0
jne 0x1800449d3
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x3a8]
movsx eax, byte [rcx + rax]
cmp eax, 0x30
jne 0x1800449ce
lea rax, [rbp + 0x350]
cmp qword [rbp + 0x3a8], rax
je 0x1800449ce
mov rax, qword [rbp + 0x3a8]
inc rax
mov qword [rbp + 0x3a8], rax
jmp 0x180044a9d
mov rax, qword [rbp + 0x588]
cmp qword [rbp + 0x3a8], rax
je 0x180044a98
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180044a78
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 0x180044a27
mov dword [rbp + 0xed8], 1
jmp 0x180044a31
mov dword [rbp + 0xed8], 0
cmp dword [rbp + 0xed8], 0
je 0x180044a78
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 [0x1802c1021]
mov byte [rax], cl
mov rax, qword [rbp + 0x588]
dec rax
mov qword [rbp + 0x588], rax
jmp 0x180044a93
mov rax, qword [rbp + 0x3a8]
dec rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x3a8]
mov byte [rax], 0x30
jmp 0x1800449d3
jmp 0x1800447d0
mov eax, 1
imul rax, rax, 0
mov qword [rbp + 0xe88], rax
cmp qword [rbp + 0xe88], 8
jae 0x180044ab9
jmp 0x180044abe
call fcn.180224820
mov rax, qword [rbp + 0xe88]
mov byte [rbp + rax + 0x388], 0
lea rdx, [rbp + 0x368]
mov ecx, dword [rbp + 0xc4]
call fcn.180040430
lea rax, [rbp + 0x350]
sub rax, qword [rbp + 0x3a8]
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0x3e4], 0
jne 0x180044b21
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 0x180044b45
mov dword [rbp + 0x84], 0
mov eax, dword [rbp + 0x3e4]
cmp dword [rbp + 0x84], eax
jge 0x180044b5f
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 0x180044bb3
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 0x180044c39
mov eax, dword [rbp + 0xc4]
and eax, 0x10
test eax, eax
je 0x180044c2a
mov eax, dword [rbp + 0x84]
cmp dword [rbp + 0x64], eax
jle 0x180044c09
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0xed4], eax
jmp 0x180044c15
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 0x180044c39
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 0x18004522d
mov eax, dword [rbp + 0xc4]
and eax, 1
test eax, eax
jne 0x180044df0
cmp dword [rbp + 0x64], 0
jle 0x180044df0
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x5a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180044cb6
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 0x180044cb6
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 0x180044d00
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x180044cde
jmp 0x180044d00
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 0x180044cc6
cmp dword [rbp + 0x5a4], 4
jl 0x180044d30
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 0x180044d00
cmp dword [rbp + 0x5a4], 0
je 0x180044d5b
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 0x180044d30
cmp qword [rbp + 0xf10], 0
je 0x180044deb
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 0x180044deb
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 0x180044deb
jmp 0x180045bbd
jmp 0x180044c5f
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 0x180044f85
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
mov dword [rbp + 0x5a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180044e72
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 0x180044e72
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 0x180044ef0
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 0x180044e9e
cmp qword [rbp + 0xf10], 0
je 0x180044f80
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 0x180044f80
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 0x180044f80
jmp 0x180045bbd
jmp 0x180044dfe
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 0x180044fe2
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 0x180044fec
mov dword [rbp + 0xed4], 0
mov eax, dword [rbp + 0xed4]
mov dword [rbp + 0x424], eax
cmp dword [rbp + 0x84], 0
jle 0x18004522d
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x5a4], eax
cmp qword [rbp + 0xf10], 0
je 0x180045055
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 0x180045055
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 0x1800450e2
cmp dword [rbp + 0x5a4], 0
je 0x1800450b2
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x180045090
jmp 0x1800450b2
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 0x180045078
cmp dword [rbp + 0x5a4], 4
jl 0x1800450e2
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 0x1800450b2
cmp dword [rbp + 0x5a4], 0
je 0x180045198
mov eax, dword [rbp + 0xc4]
and eax, 0x40
test eax, eax
je 0x180045173
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 0x18004513c
mov dword [rbp + 0xedc], 1
jmp 0x180045146
mov dword [rbp + 0xedc], 0
cmp dword [rbp + 0xedc], 0
je 0x180045173
mov dword [rbp + 0x424], 0
mov rax, qword [rbp + 8]
movzx ecx, byte [0x1802c1021]
mov byte [rax], cl
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
jmp 0x180045185
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 0x1800450e2
cmp qword [rbp + 0xf10], 0
je 0x180045228
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 0x180045228
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 0x180045228
jmp 0x180045bbd
jmp 0x180044ff8
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 0x1800453c2
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x368]
mov dword [rbp + 0x6a4], eax
cmp qword [rbp + 0xf10], 0
je 0x1800452af
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 0x1800452af
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 0x18004532d
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 0x1800452db
cmp qword [rbp + 0xf10], 0
je 0x1800453bd
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 0x1800453bd
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 0x1800453bd
jmp 0x180045bbd
jmp 0x18004523b
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0x404], 0
je 0x18004556f
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x704], eax
cmp qword [rbp + 0xf10], 0
je 0x18004542b
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 0x18004542b
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 0x180045488
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 0x180045441
cmp dword [rbp + 0x704], 0
je 0x1800454da
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 0x180045488
cmp qword [rbp + 0xf10], 0
je 0x18004556a
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 0x18004556a
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 0x18004556a
jmp 0x180045bbd
jmp 0x1800453ce
cmp dword [rbp + 0xa4], 0
je 0x18004570c
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x764], eax
cmp qword [rbp + 0xf10], 0
je 0x1800455cc
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 0x1800455cc
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 0x18004561c
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x1800455fa
jmp 0x18004561c
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 0x1800455e2
cmp dword [rbp + 0x764], 4
jl 0x18004564c
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 0x18004561c
cmp dword [rbp + 0x764], 0
je 0x180045677
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 0x18004564c
cmp qword [rbp + 0xf10], 0
je 0x180045707
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 0x180045707
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 0x180045707
jmp 0x180045bbd
jmp 0x18004556f
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 0x1800458a1
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rbp + rax + 0x388]
mov dword [rbp + 0x7c4], eax
cmp qword [rbp + 0xf10], 0
je 0x18004578e
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 0x18004578e
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 0x18004580c
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 0x1800457ba
cmp qword [rbp + 0xf10], 0
je 0x18004589c
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 0x18004589c
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 0x18004589c
jmp 0x180045bbd
jmp 0x18004571a
mov eax, dword [rbp + 0xc4]
and eax, 1
test eax, eax
je 0x180045a59
cmp dword [rbp + 0x64], 0
jle 0x180045a59
cmp dword [rbp + 0x64], 0
je 0x180045a59
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x824], eax
cmp qword [rbp + 0xf10], 0
je 0x180045913
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 0x180045913
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 0x18004595d
mov rax, qword [rbp + 8]
and rax, 3
test rax, rax
jne 0x18004593b
jmp 0x18004595d
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 0x180045923
cmp dword [rbp + 0x824], 4
jl 0x18004598d
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 0x18004595d
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 0x1800459c4
mov rax, qword [rbp + 8]
mov byte [rax], 0x20
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
jmp 0x18004598d
cmp qword [rbp + 0xf10], 0
je 0x180045a54
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 0x180045a54
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 0x180045a54
jmp 0x180045bbd
jmp 0x1800458bc
jmp 0x180045b26
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 0x180045abf
jmp 0x180045ac4
call fcn.180224820
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 0x180045aef
jmp 0x180045af4
call fcn.180224820
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 0x180044b45
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x180042239
cmp qword [rbp + 0xf10], 0
jne 0x180045b49
mov rax, qword [rbp + 8]
mov byte [rax], 0
jmp 0x180045bbd
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 0x180045bbd
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, [0x180235270]
call fcn.180224a80
mov rax, rdi
mov rcx, qword [rbp + 0xee0]
xor rcx, rbp
call fcn.180224dd0
lea rsp, [rbp + 0xef8]
pop rdi
pop rbp
ret