Function at 0x455140
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x248]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x456c98
sub rsp, 0x2c8
mov qword [rsp + 0x2c0], rbp
lea rbp, [rsp + 0x2c0]
mov rax, qword [rsp + 0x2f0]
test rax, rax
jle 0x456a32
mov rcx, qword [rsp + 0x308]
nop word [rax + rax]
test rcx, rcx
jne 0x456c7e
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0x2e8]
cmp rbx, rdx
jne 0x4551d7
mov rsi, qword [rdx + 0x30]
cmp qword [rsi + 0x90], rdx
je 0x456c65
mov esi, dword [sym.a.out.exe_runtime.traceback_cache]
mov rdx, qword [rdx + 0x30]
movzx edx, byte [rdx + 0xf9]
shr esi, 2
test dl, dl
cmovne esi, edx
mov rdx, qword [rsp + 0x2d0]
nop dword [rax + rax]
cmp rdx, 0xffffffffffffffff
jne 0x456a28
mov r8, qword [rsp + 0x2d8]
cmp r8, 0xffffffffffffffff
jne 0x456a16
mov rdx, qword [rbx + 0x70]
test rdx, rdx
je 0x456a05
mov r8, qword [rbx + 0x78]
xor edi, edi
mov qword [rsp + 0x268], 0
mov r9, rdi
lea rdi, [rsp + 0x270]
xorps xmm0, xmm0
lea rdi, [rdi - 0x30]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465ef5
mov rbp, qword [rbp]
mov qword [rsp + 0x278], r8
mov qword [rsp + 0x290], rdx
mov r10, qword [rbx + 0x140]
mov r11, qword [rbx + 0x148]
mov r12, qword [rsp + 0x2f8]
nop dword [rax]
test r12, r12
je 0x4569f7
xor edi, edi
mov byte [rsp + 0x3d], dil
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x238], r10
mov qword [rsp + 0x260], r9
mov dword [rsp + 0x40], esi
test r8, r8
jne 0x4552eb
mov r8, rdx
mov rdx, qword [rdx]
mov qword [rsp + 0x278], rdx
lea rdx, [r8 + 8]
mov qword [rsp + 0x290], rdx
mov rax, qword [rsp + 0x278]
mov qword [rsp], rax
call sym.a.out.exe_runtime.findfunc
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
test rax, rax
je 0x456926
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], rcx
lea rdi, [rsp + 0xe0]
xorps xmm0, xmm0
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465ec4
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x2e8]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x238]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x260]
xor edx, edx
xor edi, edi
xor r10d, r10d
xor r11d, r11d
jmp 0x455400
mov qword [rsp + 0x268], r14
mov r13, qword [rsp + 0x200]
mov qword [rsp + 0x270], r13
mov r13, qword [rsp + 0x288]
mov qword [rsp + 0x278], r13
mov qword [rsp + 0x288], 0
mov r13, qword [rsp + 0x298]
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2b8], 0
cmp r12b, 9
sete r12b
mov r13, qword [rsp + 0x300]
mov r14, qword [rsp + 0x2e8]
mov rax, r13
mov rcx, r14
mov rdx, rdi
xor r9d, r9d
mov edi, r12d
nop
cmp rax, rdx
jle 0x456910
mov r12, qword [rsp + 0x268]
mov r13, qword [rsp + 0x270]
cmp dword [r12 + 0x14], 0
nop
je 0x4568fa
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x2f0], rbx
mov byte [rsp + 0x3b], r10b
mov qword [rsp + 0x230], r9
mov byte [rsp + 0x3a], dil
cmp qword [rsp + 0x298], 0
je 0x456705
mov r14, qword [rcx + 0x30]
nop dword [rax]
test r14, r14
je 0x4566fc
cmp qword [r14], rcx
sete r14b
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x238], rsi
mov qword [rsp + 0x208], r13
mov qword [rsp + 0x218], r12
movzx r15d, byte [r12 + 0x24]
nop word [rax + rax]
nop
cmp r15b, 2
jne 0x456445
mov qword [rsp + 0x288], 0
xor r14d, r14d
xor r15d, r15d
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0x2a0], rcx
lea rax, [rcx - 8]
mov qword [rsp + 0x2a0], rax
nop dword [rax + rax]
cmp qword [rsp + 0x290], rax
jae 0x4554ff
cmp byte [sym.a.out.exe_runtime.framepointer_enabled], 0
je 0x4554ff
lea rax, [rcx - 0x10]
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x200], r15
mov qword [rsp + 0x220], r14
mov rax, qword [rsp + 0x308]
nop word [rax + rax]
test rax, rax
je 0x45642f
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0x2a8], rcx
je 0x456428
cmp dword [r12 + 0xc], 0x80000000
sete cl
movsxd r15, dword [r12 + 0xc]
mov qword [rsp + 0x2b0], r15
mov qword [rsp + 0x2b8], 0
test cl, cl
jne 0x456392
mov rcx, qword [rsp + 0x278]
mov qword [rsp + 0x280], rcx
nop dword [rax]
test dil, dil
je 0x45638a
mov rcx, qword [rsp + 0x268]
mov r9d, dword [rcx + 0x10]
test r9d, r9d
je 0x456376
mov rcx, qword [rcx]
lea rcx, [r9 + rcx]
lea rcx, [rcx + 1]
mov qword [rsp + 0x280], rcx
test rax, rax
jne 0x4562d4
mov rcx, qword [rsp + 0x2f8]
test rcx, rcx
jne 0x455fca
mov qword [rsp + 0x2f0], rbx
movzx r9d, byte [rsp + 0x3d]
nop dword [rax]
test r9b, r9b
jne 0x4556fb
lea rdi, [rdx + 1]
cmp byte [r12 + 0x24], 0xe
jne 0x45560d
test r8, r8
jle 0x45560d
mov r13, qword [rsi + r8*8 - 8]
nop
test rbx, rbx
jne 0x45560a
test rax, rax
je 0x455671
dec r8
movzx r12d, byte [r12 + 0x24]
test r14, r14
jne 0x45537c
movzx ecx, r9b
test rcx, rcx
cmovne rdi, r11
test rax, rax
je 0x455659
mov rax, qword [rsp + 0x300]
cmp rax, rdi
jle 0x455659
mov rcx, qword [rsp + 0x290]
mov rdx, qword [rsp + 0x2e8]
mov rbx, qword [rdx + 0x80]
cmp rcx, rbx
jne 0x456a3f
mov qword [rsp + 0x320], rdi
mov rbp, qword [rsp + 0x2c0]
add rsp, 0x2c8
ret
mov qword [rsp + 0xd8], r11
mov byte [rsp + 0x3f], r10b
mov qword [rsp], rcx
mov byte [rsp + 8], r9b
mov qword [rsp + 0x10], r13
mov qword [rsp + 0x18], rdi
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x20], rax
nop
call sym.a.out.exe_runtime.tracebackCgoContext
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x238]
mov r8, qword [rsp + 0xa0]
movzx r9d, byte [rsp + 0x3d]
movzx r10d, byte [rsp + 0x3f]
mov r11, qword [rsp + 0xd8]
mov r12, qword [rsp + 0x218]
mov r14, qword [rsp + 0x220]
jmp 0x45560a
mov byte [rsp + 0x3e], r10b
mov qword [rsp + 0xd0], rdx
mov r15, qword [rsp + 0x278]
test rdx, rdx
jle 0x455fa5
cmp qword [r12], r15
jae 0x455729
nop
test dil, dil
je 0x455f9c
mov qword [rsp + 0x50], r15
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov byte [rsp + 0x10], 4
nop dword [rax]
call sym.a.out.exe_runtime.funcdata
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x455c89
movzx eax, byte [rsp + 0x3e]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x50], rcx
mov rbx, qword [rsp + 0x318]
bt ebx, 0
nop dword [rax + rax]
jae 0x455c2b
mov eax, 1
test al, al
jne 0x4557e5
mov r12, qword [rsp + 0x218]
movzx r10d, byte [r12 + 0x24]
mov rax, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x238]
mov r8, qword [rsp + 0xa0]
movzx r9d, byte [rsp + 0x3d]
mov r14, qword [rsp + 0x220]
mov r11, rdx
mov rdx, qword [rsp + 0xd0]
nop
jmp 0x4555e9
mov rax, qword [rsp + 0x218]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 8], rcx
nop
call sym.a.out.exe_runtime.funcname
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x1e0], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x218]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x208]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x10], rbx
nop
call sym.a.out.exe_runtime.funcline
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x90], rcx
movsxd rdx, dword [rsp + 0x28]
mov qword [rsp + 0xc0], rdx
mov rbx, qword [rsp + 0x68]
cmp rbx, 0xf
jne 0x455c1e
movabs rsi, 0x2e656d69746e7572
mov rdi, qword [rsp + 0x1e0]
cmp qword [rdi], rsi
jne 0x4558b5
cmp dword [rdi + 8], 0x61706f67
jne 0x4558b5
cmp word [rdi + 0xc], 0x696e
jne 0x4558b5
cmp byte [rdi + 0xe], 0x63
jne 0x4558b5
mov ebx, 5
lea rdi, [0x00537c0b]
mov qword [rsp + 0x1e0], rdi
mov qword [rsp + 0x68], rbx
call sym.a.out.exe_runtime.printlock
mov rax, qword [rsp + 0x1e0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 8], rax
nop dword [rax]
call sym.a.out.exe_runtime.printstring
lea rax, [0x005377f1]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call sym.a.out.exe_runtime.printstring
nop
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x258], rax
xor ecx, ecx
jmp 0x455959
test byte [rax], al
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rdx
call sym.a.out.exe_runtime.printlock
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
nop dword [rax]
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x88]
lea rcx, [rax + 1]
mov rax, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x2b0]
shr rdx, 3
cmp rcx, rdx
jae 0x4559e0
cmp rcx, 0xa
jae 0x4559ba
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x455919
nop dword [rax]
call sym.a.out.exe_runtime.printlock
lea rax, [0x0053781f]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call sym.a.out.exe_runtime.printstring
nop
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x88]
jmp 0x455919
call sym.a.out.exe_runtime.printlock
lea rax, [0x00537b43]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call sym.a.out.exe_runtime.printstring
call sym.a.out.exe_runtime.printunlock
nop dword [rax]
call sym.a.out.exe_runtime.printlock
lea rax, [0x0053781d]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call sym.a.out.exe_runtime.printstring
nop
call sym.a.out.exe_runtime.printunlock
call sym.a.out.exe_runtime.printlock
lea rax, [0x00537808]
mov qword [rsp], rax
mov qword [rsp + 8], 1
nop
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x1f8]
mov qword [rsp], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 8], rax
nop
call sym.a.out.exe_runtime.printstring
lea rax, [0x005377fa]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printint
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rcx]
cmp rax, rdx
ja 0x455bc2
mov rax, qword [rsp + 0x2e8]
mov rdx, qword [rax + 0x30]
nop dword [rax]
test rdx, rdx
je 0x455bb2
cmp dword [rdx + 0xc4], 0
jle 0x455bb2
nop word [rax + rax]
nop
cmp qword [rdx + 0x90], rax
jne 0x455bb2
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x290]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0xa8], rdx
nop dword [rax]
call sym.a.out.exe_runtime.printlock
lea rax, [0x00537994]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
lea rax, [0x005379b0]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
lea rax, [0x005379a8]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xa8]
mov qword [rsp], rax
nop
call sym.a.out.exe_runtime.printhex
call sym.a.out.exe_runtime.printunlock
call sym.a.out.exe_runtime.printlock
call sym.a.out.exe_runtime.printnl
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0xc8]
lea rdx, [rax + 1]
mov rbx, qword [rsp + 0x318]
jmp 0x45578f
mov edx, dword [rsp + 0x40]
cmp edx, 2
jge 0x455acd
nop
jmp 0x455b8a
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rdx
call sym.a.out.exe_runtime.printlock
lea rax, [0x0053780f]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
sub rax, rcx
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
call sym.a.out.exe_runtime.printunlock
mov rcx, qword [rsp + 0x218]
jmp 0x455a90
mov rdi, qword [rsp + 0x1e0]
jmp 0x4558b5
mov rcx, qword [rsp + 0x218]
movzx ebx, byte [rcx + 0x24]
mov qword [rsp], rcx
mov rsi, qword [rsp + 0x208]
mov qword [rsp + 8], rsi
mov rdi, qword [rsp + 0x2e8]
mov qword [rsp + 0x10], rdi
test rdx, rdx
sete byte [rsp + 0x18]
mov byte [rsp + 0x19], bl
mov byte [rsp + 0x1a], al
call sym.a.out.exe_runtime.showframe
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x318]
jmp 0x45578b
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 0x3e]
mov rbx, qword [rsp + 0x60]
jmp 0x455cd9
mov rsi, qword [rsp + 0x268]
lea rax, [rax + rax*4]
mov rdi, qword [rsp + 0x258]
lea r8, [rdi + rax*4]
lea r8, [r8 + 2]
movzx r8d, byte [r8]
lea rax, [rdi + rax*4]
lea rax, [rax + 0x10]
movsxd rax, dword [rax]
add rax, qword [rsi]
mov edx, r8d
mov rbx, rcx
mov rcx, rax
mov qword [rsp + 0xc8], rbx
mov byte [rsp + 0x3b], dl
mov qword [rsp + 0x50], rcx
mov rax, qword [rsp + 0x218]
mov qword [rsp], rax
mov rsi, qword [rsp + 0x208]
mov qword [rsp + 8], rsi
mov dword [rsp + 0x10], 2
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], 0
call sym.a.out.exe_runtime.pcdatavalue
mov eax, dword [rsp + 0x28]
test eax, eax
jl 0x455f85
mov dword [rsp + 0x44], eax
mov rdx, qword [rsp + 0x318]
bt edx, 0
nop word [rax + rax]
jae 0x455ef6
mov ecx, 1
test cl, cl
jne 0x455d71
mov rcx, qword [rsp + 0xc8]
movsxd rax, eax
nop word [rax + rax]
cmp rax, 0x100000
jb 0x455ca2
jmp 0x456bea
movsxd rbx, eax
nop word [rax + rax]
nop dword [rax]
cmp rbx, 0x100000
jae 0x456bf4
lea rax, [rbx + rbx*4]
mov rcx, qword [rsp + 0x258]
mov eax, dword [rcx + rax*4 + 0xc]
mov rdx, qword [rsp + 0x218]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x208]
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], eax
call sym.a.out.exe_runtime.funcnameFromNameoff
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x1e8], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0x218]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x208]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x10], rsi
call sym.a.out.exe_runtime.funcline
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x1f0], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x98], rcx
movsxd rdx, dword [rsp + 0x28]
mov qword [rsp + 0xc0], rdx
call sym.a.out.exe_runtime.printlock
mov rax, qword [rsp + 0x1e8]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
call sym.a.out.exe_runtime.printstring
lea rax, [0x00537cc2]
mov qword [rsp], rax
mov qword [rsp + 8], 6
call sym.a.out.exe_runtime.printstring
nop
call sym.a.out.exe_runtime.printunlock
call sym.a.out.exe_runtime.printlock
lea rax, [0x00537808]
mov qword [rsp], rax
mov qword [rsp + 8], 1
nop
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x1f0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 8], rax
nop
call sym.a.out.exe_runtime.printstring
lea rax, [0x005377fa]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printint
call sym.a.out.exe_runtime.printnl
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0xc8]
lea rcx, [rax + 1]
mov eax, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x318]
jmp 0x455d57
movsxd rbx, eax
nop dword [rax]
cmp rbx, 0x100000
jae 0x456c05
lea rax, [rbx + rbx*4]
mov rcx, qword [rsp + 0x258]
lea rax, [rcx + rax*4]
lea rax, [rax + 2]
movzx eax, byte [rax]
mov rdx, qword [rsp + 0x218]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x208]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x2e8]
mov qword [rsp + 0x10], rsi
mov rdi, qword [rsp + 0xc8]
test rdi, rdi
sete byte [rsp + 0x18]
mov byte [rsp + 0x19], al
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x1a], al
call sym.a.out.exe_runtime.showframe
movzx ecx, byte [rsp + 0x20]
mov eax, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x318]
nop dword [rax]
jmp 0x455d4b
movzx eax, byte [rsp + 0x3b]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xc8]
jmp 0x455762
dec r15
nop
jmp 0x455729
mov r9, qword [rsp + 0x318]
bt r9d, 1
jb 0x455fbf
movzx r9d, byte [rsp + 0x3d]
jmp 0x455719
movzx r9d, byte [rsp + 0x3d]
jmp 0x455729
mov r9, qword [rsp + 0x278]
test rdx, rdx
jne 0x4562c7
mov r15, qword [rsp + 0x318]
bt r15d, 1
jae 0x4562a5
lea rdi, [r9 + 1]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], r9
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov byte [rsp + 0x10], 4
call sym.a.out.exe_runtime.funcdata
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x456107
movzx eax, byte [rsp + 0x3b]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x218]
cmp byte [rsi + 0x24], 0x16
jne 0x45604a
cmp al, 0x12
jne 0x4560ef
test rbx, rbx
jle 0x4560a6
lea rax, [rbx - 1]
movzx r10d, byte [rsi + 0x24]
lea rdx, [rcx - 1]
mov rcx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x238]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0x208]
mov r14, qword [rsp + 0x220]
mov rbx, rax
mov rax, qword [rsp + 0x308]
jmp 0x4555cb
mov rdi, qword [rsp + 0x300]
cmp rdi, rcx
jle 0x4560e5
nop word [rax + rax]
nop dword [rax]
cmp rcx, 0x100000
jae 0x456c12
mov rax, qword [rsp + 0x2f8]
mov qword [rax + rcx*8], rdx
inc rcx
mov rax, rbx
nop
jmp 0x456053
mov rax, qword [rsp + 0x2f8]
jmp 0x4560dc
cmp al, 9
je 0x45604a
cmp al, 0x13
je 0x45604a
mov rax, rbx
jmp 0x456053
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0x3b]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x2f0]
jmp 0x456158
mov r8, qword [rsp + 0x268]
movzx r9d, byte [rsi + 2]
lea r10, [rbx + rdx*4]
lea r10, [r10 + 0x10]
movsxd r10, dword [r10]
add r10, qword [r8]
lea rsi, [r10 + 1]
mov edx, r9d
mov rbx, rcx
mov rdi, rax
mov rcx, r10
mov qword [rsp + 0x2f0], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xd0], rbx
mov byte [rsp + 0x3c], dl
mov rax, qword [rsp + 0x218]
mov qword [rsp], rax
mov r8, qword [rsp + 0x208]
mov qword [rsp + 8], r8
mov dword [rsp + 0x10], 2
mov qword [rsp + 0x18], rcx
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x20], rcx
call sym.a.out.exe_runtime.pcdatavalue
mov eax, dword [rsp + 0x28]
test eax, eax
jl 0x456285
movsxd rax, eax
nop dword [rax + rax]
cmp rax, 0x100000
jae 0x456c29
lea rdx, [rax + rax*4]
mov rbx, qword [rsp + 0x258]
lea rsi, [rbx + rdx*4]
lea rdi, [rbx + rdx*4]
lea rdi, [rdi + 2]
cmp byte [rdi], 0x16
jne 0x4561f4
movzx edi, byte [rsp + 0x3c]
cmp dil, 0x12
jne 0x456262
mov rdi, qword [rsp + 0x2f0]
nop dword [rax]
test rdi, rdi
jle 0x456216
lea rax, [rdi - 1]
mov rcx, qword [rsp + 0xd0]
jmp 0x45612d
mov r8, qword [rsp + 0x300]
mov rax, qword [rsp + 0xd0]
cmp r8, rax
jle 0x456256
cmp rax, 0x100000
jae 0x456c1f
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x2f8]
mov qword [r9 + rax*8], rcx
inc rax
mov rcx, rax
mov rax, rdi
jmp 0x45612d
mov r9, qword [rsp + 0x2f8]
nop
jmp 0x45624b
cmp dil, 9
je 0x4561f4
cmp dil, 0x13
je 0x4561f4
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x2f0]
nop
jmp 0x45612d
movzx eax, byte [rsp + 0x3c]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x2f0]
nop
jmp 0x456034
test dil, dil
jne 0x455fee
cmp qword [r12], r9
je 0x455fee
lea r15, [r9 - 1]
mov rdi, r9
mov r9, r15
jmp 0x455ff2
test dil, dil
mov r15, qword [rsp + 0x318]
jmp 0x4562a8
lea rcx, [rsp + 0x268]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 8], rcx
mov rbx, qword [rax]
mov rdx, rax
call rbx
cmp byte [rsp + 0x10], 0
je 0x456359
mov rcx, qword [rsp + 0x2f8]
test rcx, rcx
mov rax, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x238]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0x208]
mov r14, qword [rsp + 0x220]
jmp 0x4555c5
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x320], rax
mov rbp, qword [rsp + 0x2c0]
add rsp, 0x2c8
ret
mov qword [rsp + 0x280], 0
test rax, rax
jmp 0x4555b4
test rax, rax
jmp 0x4555b4
lea rcx, [rsp + 0x268]
mov qword [rsp], rcx
mov qword [rsp + 8], r12
mov qword [rsp + 0x10], r13
test rax, rax
setne cl
mov byte [rsp + 0x18], cl
mov qword [rsp + 0x20], r9
call sym.a.out.exe_runtime.getArgInfo
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], rcx
mov rax, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x238]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0x208]
mov r14, qword [rsp + 0x220]
jmp 0x45556c
xor ecx, ecx
jmp 0x45554b
movzx ecx, byte [rsp + 0x3d]
test cl, cl
je 0x45556c
test rax, rax
nop
jmp 0x455529
cmp r15b, 6
je 0x4554aa
cmp r15b, 4
je 0x4554aa
nop dword [rax]
cmp r15b, 5
je 0x4554aa
cmp r15b, 7
je 0x4554aa
cmp r15b, 0x10
je 0x4554aa
nop
test r14b, r14b
je 0x45648f
cmp r15b, 8
je 0x4554aa
cmp qword [rsp + 0x288], 0
jne 0x4566f4
mov r14, qword [rsp + 0x298]
add r14, 0xfffffffffffffff8
mov r15, r14
mov r14, qword [r14]
mov qword [rsp + 0x288], r14
mov qword [rsp + 0x80], r15
mov rax, qword [rsp + 0x288]
mov qword [rsp], rax
call sym.a.out.exe_runtime.findfunc
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
nop dword [rax + rax]
test rax, rax
je 0x456545
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0x238]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x230]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0x208]
mov r14, rax
mov r15, rcx
mov rax, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x2e8]
jmp 0x4554bc
movzx ebx, byte [rsp + 0x3d]
test bl, bl
je 0x4566e2
mov rsi, qword [rsp + 0x2e8]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0xe8], 0
je 0x4566d8
mov rdi, qword [rsp + 0x218]
cmp byte [rdi + 0x24], 9
jne 0x4566d1
xor edx, edx
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x248], rcx
mov r8, qword [rsp + 0x308]
test r8, r8
jne 0x4565b2
nop dword [rax]
test dl, dl
jne 0x4565b2
test r8, r8
je 0x4564e5
jmp 0x456c33
mov qword [rsp], rdi
mov rax, qword [rsp + 0x208]
mov qword [rsp + 8], rax
call sym.a.out.exe_runtime.funcname
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x240], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0xd0], rcx
mov rdx, qword [rsp + 0x288]
mov qword [rsp + 0xb8], rdx
call sym.a.out.exe_runtime.printlock
lea rax, [0x0053e49b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x22
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x240]
mov qword [rsp], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 8], rax
call sym.a.out.exe_runtime.printstring
lea rax, [0x00538ea4]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
call sym.a.out.exe_runtime.printnl
nop dword [rax]
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x268]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x18], rcx
call sym.a.out.exe_runtime.tracebackHexdump
mov r8, qword [rsp + 0x308]
test r8, r8
mov rax, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x248]
movzx ebx, byte [rsp + 0x3d]
mov rsi, qword [rsp + 0x2e8]
mov rdi, qword [rsp + 0x218]
jmp 0x4565a7
mov edx, ebx
jmp 0x45657f
mov rdi, qword [rsp + 0x218]
jmp 0x4566d1
mov rsi, qword [rsp + 0x2e8]
mov rdi, qword [rsp + 0x218]
jmp 0x4566d1
xor r15d, r15d
jmp 0x4564b8
xor r14d, r14d
nop
jmp 0x455470
mov r14, qword [rsp + 0x318]
bt r14d, 2
jae 0x4568ec
mov r15, qword [rcx + 0x30]
nop dword [rax]
cmp qword [r15], rcx
jne 0x4568ec
mov r15, qword [r15 + 0x90]
test r15, r15
je 0x4568ec
movzx r14d, byte [r12 + 0x24]
nop
cmp r14b, 5
je 0x456853
cmp r14b, 0xd
jne 0x456845
mov rsi, qword [r15 + 0x38]
mov qword [rsp + 0x290], rsi
mov rsi, qword [rcx + 0x30]
mov rsi, qword [rsi + 0x90]
mov r8, qword [rsi + 0x140]
mov rsi, qword [rsi + 0x148]
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x238], r8
mov qword [rsp + 0x210], r13
mov qword [rsp + 0x228], r12
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x10], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x18], rax
nop dword [rax]
call sym.a.out.exe_runtime.funcspdelta
movsxd rax, dword [rsp + 0x20]
add rax, qword [rsp + 0x290]
mov qword [rsp + 0x298], rax
add rax, 8
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x2e8]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f0]
movzx edi, byte [rsp + 0x3a]
mov r9, qword [rsp + 0x230]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x228]
mov r13, qword [rsp + 0x210]
mov r8, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x238]
nop dword [rax + rax]
jmp 0x455459
mov r14, rsi
mov rsi, r8
mov r8, r14
jmp 0x456779
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x278], rax
mov qword [rsp], rax
call sym.a.out.exe_runtime.findfunc
mov r12, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov qword [rsp + 0x268], r12
mov qword [rsp + 0x270], r13
mov rcx, qword [rsp + 0x2e8]
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0x90]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x290], rax
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0x90]
mov r8, qword [rax + 0x140]
mov rsi, qword [rax + 0x148]
mov rax, qword [rsp + 0x300]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f0]
movzx edi, byte [rsp + 0x3a]
mov r9, qword [rsp + 0x230]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
jmp 0x456779
mov r15, rsi
mov rsi, r8
mov r8, r15
jmp 0x456779
mov rax, qword [rsp + 0x308]
movzx r9d, byte [rsp + 0x3d]
mov rdi, rdx
jmp 0x45561c
mov rax, qword [rsp + 0x308]
movzx r9d, byte [rsp + 0x3d]
mov rdi, rdx
jmp 0x45561c
mov rax, qword [rsp + 0x308]
test rax, rax
je 0x4569e5
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0xb8], rax
call sym.a.out.exe_runtime.printlock
lea rax, [0x0053abb2]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
call sym.a.out.exe_runtime.printnl
nop dword [rax + rax]
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
lea rax, [rsp + 0x268]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 0
call sym.a.out.exe_runtime.tracebackHexdump
mov rax, qword [rsp + 0x308]
test rax, rax
jne 0x456c4c
mov qword [rsp + 0x320], 0
mov rbp, qword [rsp + 0x2c0]
add rsp, 0x2c8
ret
movzx ecx, byte [rsp + 0x3d]
test cl, cl
jne 0x456937
test rax, rax
jmp 0x4569c3
test rcx, rcx
sete dil
nop
jmp 0x4552ab
mov r8, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x50]
jmp 0x45522f
mov r8, rdx
mov rdx, qword [rsp + 0x2d8]
xor edi, edi
jmp 0x45522f
mov r8, qword [rsp + 0x2d8]
jmp 0x456a16
mov rcx, qword [rsp + 0x308]
jmp 0x4551a9
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x78], rdi
mov rax, qword [rdx + 0x98]
mov qword [rsp + 0xc0], rax
call sym.a.out.exe_runtime.printlock
lea rax, [0x005386fa]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
nop dword [rax]
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printint
lea rax, [0x0053884f]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
nop dword [rax + rax]
call sym.a.out.exe_runtime.printhex
lea rax, [0x00537b07]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
call sym.a.out.exe_runtime.printnl
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xb0], rax
call sym.a.out.exe_runtime.printlock
lea rax, [0x00538134]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
lea rax, [0x005377f6]
mov qword [rsp], rax
mov qword [rsp + 8], 1
nop dword [rax + rax]
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printhex
lea rax, [0x00537a30]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printint
lea rax, [0x00537af3]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x300]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printint
call sym.a.out.exe_runtime.printnl
call sym.a.out.exe_runtime.printunlock
lea rax, [0x0053e72e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x23
call sym.a.out.exe_runtime.throw
mov ecx, 0x100000
call sym.a.out.exe_runtime.panicIndex
mov rax, rbx
mov ecx, 0x100000
nop dword [rax]
call sym.a.out.exe_runtime.panicIndex
mov rax, rbx
mov ecx, 0x100000
call sym.a.out.exe_runtime.panicIndex
mov rax, rcx
mov ecx, 0x100000
call sym.a.out.exe_runtime.panicIndex
mov ecx, 0x100000
call sym.a.out.exe_runtime.panicIndex
mov ecx, 0x100000
call sym.a.out.exe_runtime.panicIndex
lea rax, [0x00539eba]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call sym.a.out.exe_runtime.throw
lea rax, [0x00538754]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call sym.a.out.exe_runtime.throw
lea rax, [0x005407c8]
mov qword [rsp], rax
mov qword [rsp + 8], 0x39
call sym.a.out.exe_runtime.throw
lea rax, [0x00540645]
mov qword [rsp], rax
mov qword [rsp + 8], 0x37
call sym.a.out.exe_runtime.throw
nop
call sym.a.out.exe_runtime.morestack_noctxt
nop dword [rax]
jmp sym.a.out.exe_runtime.gentraceback