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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rsi
push rdi
push r13
sub rsp, 0x48
mov edi, dword [rsp + 0x98]
mov rsi, rdx
mov r13, rcx
test edi, edi
jne 0x1400a4cbc
lea eax, [rdi + 4]
add rsp, 0x48
pop r13
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x70], rbp
dec edi
mov qword [rsp + 0x78], r12
mov r12, qword [rsp + 0x90]
mov qword [rsp + 0x40], r15
mov r15, qword [r12]
mov ecx, dword [r15 + 0x10]
test ecx, ecx
je 0x1400a4d12
sub ecx, 1
je 0x1400a4cf5
sub ecx, 1
je 0x1400a4cf5
sub ecx, 2
je 0x1400a4cfe
cmp ecx, 1
je 0x1400a4d12
lea r15, [0x140117ad8]
jmp 0x1400a4d15
mov rcx, qword [r15]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001550
mov r15, rax
jmp 0x1400a4d15
mov r15, qword [r15]
mov ebx, 4
mov qword [rsp + 0x80], r14
mov r8d, ebx
lea rdx, str.Read
mov rcx, r15
call fcn.1400cab68
xor ebp, ebp
lea edx, [rbx + 6]
lea r8d, [rbx + 4]
test eax, eax
jne 0x1400a4d7b
cmp word [r15 + 8], bp
lea rcx, [r15 + 8]
jne 0x1400a4d55
lea r14d, [rbx - 3]
jmp 0x1400a4f03
lea rdx, str.Line
call fcn.1400c8580
mov ecx, 3
test eax, eax
mov r14d, 5
cmove r14d, ecx
lea r8d, [rcx + 5]
jmp 0x1400a4efe
mov r8d, 5
lea rdx, str.Write
mov rcx, r15
call fcn.1400cab68
test eax, eax
jne 0x1400a4dce
cmp word [r15 + 0xa], bp
lea rcx, [r15 + 0xa]
jne 0x1400a4dac
lea r14d, [rax + 2]
lea r8d, [rax + 8]
jmp 0x1400a4efe
lea rdx, str.Line
call fcn.1400c8580
mov ecx, ebp
test eax, eax
mov r8d, 8
setne cl
lea r14d, [rcx + 4]
jmp 0x1400a4efe
lea rdx, str.RawRead
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a4df0
mov r14d, 6
lea r8d, [r14 + 2]
jmp 0x1400a4efe
lea rdx, str.RawWrite
mov rcx, r15
call fcn.1400c8580
test eax, eax
je 0x1400a4de1
lea rdx, [0x140114d18]
mov rcx, r15
call fcn.1400c8580
test eax, eax
je 0x1400a4ef5
lea rdx, str.Length
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a4e3a
lea r14d, [rax + 9]
lea r8d, [rax + 8]
jmp 0x1400a4efe
lea rdx, str.AtEOF
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a4e5e
mov edx, 0xa
lea r8d, [rax + 8]
mov r14d, edx
jmp 0x1400a4f03
lea rdx, str.__Handle
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a4e7e
lea r14d, [rax + 0xb]
lea r8d, [rax + 8]
jmp 0x1400a4efe
lea rdx, str.Encoding
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a4e9b
lea r14d, [rax + 0xc]
lea r8d, [rax + 8]
jmp 0x1400a4efe
lea rdx, str.Close
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a4eb8
lea r14d, [rax + 0xd]
lea r8d, [rax + 8]
jmp 0x1400a4efe
lea rdx, str.Position
mov rcx, r15
call fcn.1400c8580
test eax, eax
je 0x1400a4ef5
lea rdx, str.Seek
mov rcx, r15
call fcn.1400c8580
test eax, eax
je 0x1400a4ef5
lea rdx, str.Tell
mov rcx, r15
call fcn.1400c8580
test eax, eax
jne 0x1400a5762
mov r8d, 8
mov r14d, r8d
mov edx, 0xa
mov eax, dword [rsp + 0x88]
test al, 2
jne 0x1400a4f23
cmp r14d, 7
jb 0x1400a575b
and eax, 1
cmp edi, eax
jne 0x1400a575b
lea eax, [r14 - 1]
mov dword [rsi + 0x10], 1
cmp eax, 0xc
ja case.0x1400a4fc8.69
cdqe
lea rcx, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
mov eax, dword [rcx + rax*4 + 0xa5788]
add rax, rcx
jmp rax
movzx eax, word [r15]
mov ecx, 0xffdf
sub ax, 0x52
mov r14d, ebp
test cx, ax
sete al
test al, al
mov byte [rsp + 0x98], al
cmovne rdx, r8
add rdx, r15
mov qword [rsp + 0x38], rdx
movzx ecx, word [rdx]
call fcn.14000b150
cmp ax, 0x55
mov rax, qword [rsp + 0x38]
jne 0x1400a4f98
add rax, 2
mov r15d, ebp
mov qword [rsp + 0x38], rax
jmp 0x1400a4f9e
mov r15d, 1
movzx ecx, word [rax]
call fcn.14000b150
movzx eax, ax
add eax, 0xffffffbd
cmp eax, 0x10
ja case.0x1400a4fc8.69
lea rcx, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
cdqe
mov edx, dword [rcx + rax*4 + 0xa57bc]
add rdx, rcx
jmp rdx
mov rcx, qword [rsp + 0x38]
mov dx, gethostname
call fcn.1400c6908
test rax, rax
mov eax, 8
cmovne ebx, eax
jmp 0x1400a5005
mov ebx, 2
jmp 0x1400a5005
mov ebx, 1
jmp 0x1400a5005
mov ebx, 8
jmp 0x1400a5005
mov ebx, 8
mov r14d, 1
cmp byte [rsp + 0x98], bpl
je 0x1400a50d0
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x30], rbp
mov r8d, ebx
lea rdx, [rsp + 0x30]
call fcn.1400a44e0
test eax, eax
je case.0x1400a4fc8.69
test r14d, r14d
je 0x1400a5074
cmp ebx, 4
jne 0x1400a5058
movss xmm0, dword [rsp + 0x30]
mov eax, 2
cvtps2pd xmm0, xmm0
mov dword [rsi + 0x10], eax
lea eax, [rbx - 3]
movsd qword [rsi], xmm0
jmp 0x1400a5764
movsd xmm0, qword [rsp + 0x30]
mov eax, 2
mov dword [rsi + 0x10], eax
mov eax, 1
movsd qword [rsi], xmm0
jmp 0x1400a5764
test r15d, r15d
je 0x1400a50be
sub ebx, 1
je 0x1400a50ab
sub ebx, 1
je 0x1400a5098
cmp ebx, 2
jne 0x1400a50be
movsxd rax, dword [rsp + 0x30]
mov qword [rsi], rax
lea eax, [rbx - 1]
jmp 0x1400a5764
movsx rax, word [rsp + 0x30]
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
movsx rax, byte [rsp + 0x30]
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
cmp edi, 1
jne case.0x1400a4fc8.69
mov r9, qword [r12 + 8]
test r14d, r14d
je 0x1400a5115
xor r8d, r8d
mov edx, edi
mov rcx, r9
call fcn.14006e440
movsd qword [rsp + 0x30], xmm0
lea rdi, [0x140117ad8]
cmp ebx, 4
jne 0x1400a51a1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x30], xmm0
jmp 0x1400a51a1
cmp ebx, 8
jne 0x1400a518b
test r15d, r15d
jne 0x1400a518b
mov ecx, dword [r9 + 0x10]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1400a518b
test ecx, ecx
je 0x1400a5177
sub ecx, 1
je 0x1400a5143
sub ecx, 1
je 0x1400a5143
sub ecx, 2
je 0x1400a5157
cmp ecx, 1
je 0x1400a5177
lea rdi, [0x140117ad8]
mov rax, rdi
mov rcx, rax
call fcn.140042e50
jmp 0x1400a519c
mov rcx, qword [r9]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001550
mov rcx, rax
lea rdi, [0x140117ad8]
call fcn.140042e50
jmp 0x1400a519c
mov rax, qword [r9]
lea rdi, [0x140117ad8]
mov rcx, rax
call fcn.140042e50
jmp 0x1400a519c
xor edx, edx
mov rcx, r9
call fcn.14006e3a0
lea rdi, [0x140117ad8]
mov qword [rsp + 0x30], rax
lea rcx, [r13 + 0x10]
mov r8d, ebx
lea rdx, [rsp + 0x30]
call fcn.1400a48a0
test eax, eax
jne 0x1400a51ca
mov rcx, qword [0x14012fa58]
cmp byte [rcx + 0x150], bpl
jne 0x1400a572b
mov eax, eax
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
cmp edi, 1
jg case.0x1400a4fc8.69
test edi, edi
je 0x1400a51f7
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.14006e3a0
mov rbx, rax
jmp 0x1400a5210
lea rcx, [r13 + 0x10]
call fcn.1400a3e10
lea rcx, [r13 + 0x10]
mov rdi, rax
call fcn.1400a3e60
sub eax, edi
mov ebx, eax
cmp ebx, 0xffffffff
je case.0x1400a4fc8.69
mov r8d, ebx
xor edx, edx
mov rcx, rsi
call fcn.14006e9b0
test eax, eax
je case.0x1400a4fc8.69
xor r9d, r9d
mov r8d, ebx
jmp 0x1400a5271
test edi, edi
jne case.0x1400a4fc8.69
mov ecx, 0x20002
call fcn.1400c86f8
mov qword [rsi + 0x18], rax
test rax, rax
je case.0x1400a4fc8.69
mov qword [rsi], rax
lea r9d, [rdi + 1]
mov qword [rsi + 8], 0x10000
mov r8d, 0xffff
mov word [rax + 0x20000], bp
mov rdx, qword [rsi]
lea rcx, [r13 + 0x10]
call fcn.1400a4130
mov ecx, eax
mov rax, qword [rsi]
mov dword [rsi + 0x10], ebp
mov word [rax + rcx*2], bp
mov eax, 1
mov qword [rsi + 8], rcx
jmp 0x1400a5764
cmp edi, 1
jg case.0x1400a4fc8.69
mov r15d, ebp
mov ebx, ebp
test edi, edi
je 0x1400a530e
mov rdx, qword [rsi + 8]
mov rcx, qword [r12 + 8]
call fcn.14006e500
mov rdi, rax
mov rax, qword [r12 + 8]
cmp dword [rax + 0x10], 4
jne 0x1400a52ed
mov rax, qword [rax]
cmp byte [rax + 0x23], bl
jne 0x1400a52d7
mov rcx, qword [rax + 0x10]
movzx edx, byte [rcx + 0x21]
jmp 0x1400a52db
movzx edx, byte [rax + 0x21]
test dl, 1
jne 0x1400a52ed
mov rcx, rax
call fcn.14001fca0
mov rbx, rax
jmp 0x1400a52fc
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x1400a52f1
mov ebx, eax
lea rcx, [r13 + 0x10]
mov r8d, ebx
mov rdx, rdi
call fcn.1400a4630
mov r15d, eax
cmp r14d, 4
jne 0x1400a5338
test r15d, r15d
jne 0x1400a531d
test ebx, ebx
jne 0x1400a5341
lea rcx, [r13 + 0x10]
mov r8d, 1
lea rdx, [0x140116774]
inc ebx
call fcn.1400a4630
add r15d, eax
test r15d, r15d
jne 0x1400a5355
test ebx, ebx
je 0x1400a5355
mov rax, qword [0x14012fa58]
cmp byte [rax + 0x150], bpl
jne case.0x1400a4fc8.69
mov eax, r15d
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
cmp edi, 2
jne case.0x1400a4fc8.69
movzx eax, word [r15 + 6]
mov ecx, 0xffdf
mov rdi, qword [r12 + 8]
sub ax, 0x52
test cx, ax
mov rcx, qword [r12 + 0x10]
sete r14b
xor edx, edx
call fcn.14006e3a0
cmp dword [rdi + 0x10], 4
mov rbx, rax
jne 0x1400a5422
mov rcx, qword [rdi]
cmp byte [rcx + 0x23], bpl
jne 0x1400a53b0
mov rdx, qword [rcx + 0x10]
jmp 0x1400a53b3
mov rdx, rcx
cmp byte [rdx + 0x23], 2
jne 0x1400a53c1
mov edx, dword [0x14013a248]
jmp 0x1400a53c5
mov rdx, qword [rdx + 0x18]
mov eax, ebx
cmp rax, rdx
jbe 0x1400a5411
test r14b, r14b
je 0x1400a53f0
mov r8d, eax
mov byte [rsp + 0x20], bpl
shr r8, 1
and eax, 1
add r8, rax
xor r9d, r9d
xor edx, edx
call fcn.1400ab090
test eax, eax
jne 0x1400a5411
mov rax, qword [0x14012fa58]
cmp byte [rax + 0x150], bpl
jne case.0x1400a4fc8.69
mov qword [rsi], rbp
mov eax, 1
jmp 0x1400a5764
mov rcx, qword [rdi]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001550
jmp 0x1400a542c
xor edx, edx
mov rcx, rdi
call fcn.14006e3a0
cmp rax, 0x10000
jae 0x1400a5438
mov ecx, ebp
jmp 0x1400a5459
lea rcx, [r13 + 0x10]
mov r8d, ebx
mov rdx, rax
test r14b, r14b
je 0x1400a544e
call fcn.1400a44e0
jmp 0x1400a5453
call fcn.1400a48a0
mov ecx, eax
test eax, eax
jne 0x1400a5471
test ebx, ebx
je 0x1400a5471
mov rax, qword [0x14012fa58]
cmp byte [rax + 0x150], bpl
jne case.0x1400a4fc8.69
mov eax, ecx
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
test edi, edi
jne 0x1400a5498
lea rcx, [r13 + 0x10]
call fcn.1400a3e10
mov qword [rsi], rax
lea eax, [rdi + 1]
jmp 0x1400a5764
cmp edi, 2
jg case.0x1400a4fc8.69
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.14006e3a0
mov rbx, rax
cmp edi, 2
jne 0x1400a54c3
mov rcx, qword [r12 + 0x10]
xor edx, edx
call fcn.14006e3a0
jmp 0x1400a54d0
test rbx, rbx
mov eax, ebp
mov ecx, 2
cmovs eax, ecx
lea rcx, [r13 + 0x10]
mov r8d, eax
mov rdx, rbx
call fcn.1400a3d80
test al, al
jne 0x1400a5504
mov rax, qword [0x14012fa58]
cmp byte [rax + 0x150], bpl
jne case.0x1400a4fc8.69
mov qword [rsi], rbp
mov eax, 1
jmp 0x1400a5764
mov qword [rsi], 1
mov eax, 1
jmp 0x1400a5764
test edi, edi
jne 0x1400a552d
lea rcx, [r13 + 0x10]
call fcn.1400a3e60
mov qword [rsi], rax
lea eax, [rdi + 1]
jmp 0x1400a5764
cmp edi, 1
jne case.0x1400a4fc8.69
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.14006e3a0
mov rdx, rax
lea rcx, [r13 + 0x10]
call fcn.1400a3eb0
mov qword [rsi], rax
cmp rax, 0xffffffffffffffff
jne 0x1400a575b
lea rdi, [0x140117ad8]
mov qword [rsi], rdi
jmp 0x1400a572b
test edi, edi
jne 0x1400a55af
mov rcx, qword [r13 + 0x40]
test rcx, rcx
je 0x1400a5584
mov eax, dword [r13 + 0x1c]
add rax, qword [r13 + 0x48]
cmp rcx, rax
jb 0x1400a55ac
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rdi, rax
test rax, rax
js 0x1400a55a7
mov rdx, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rdx + gethostname]
cmp rdi, rax
jl 0x1400a55ac
mov ebp, 1
mov qword [rsi], rbp
mov eax, 1
jmp 0x1400a5764
test edi, edi
jne 0x1400a5617
mov rdx, qword [r13 + 0x40]
test rdx, rdx
je 0x1400a55e9
sub rdx, qword [r13 + 0x48]
lea r8d, [rdi + 1]
mov eax, dword [r13 + 0x1c]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, rax
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rbp
mov dword [r13 + 0x1c], ebp
mov r8d, dword [r13 + 0x1c]
test r8d, r8d
je 0x1400a560b
cmp qword [r13 + 0x40], rbp
jne 0x1400a560b
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], ebp
mov rax, qword [r13 + 0x50]
mov word [r13 + 0x3c], bp
mov qword [rsi], rax
mov eax, 1
jmp 0x1400a5764
test edi, edi
jle 0x1400a569e
mov rcx, qword [r12 + 8]
call fcn.14006e0b0
test eax, eax
je 0x1400a5641
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.14006e3a0
jmp 0x1400a568a
mov r9, qword [r12 + 8]
mov ecx, dword [r9 + 0x10]
test ecx, ecx
je 0x1400a567f
sub ecx, 1
je 0x1400a5662
sub ecx, 1
je 0x1400a5662
sub ecx, 2
je 0x1400a566b
cmp ecx, 1
je 0x1400a567f
lea rdi, [0x140117ad8]
jmp 0x1400a5682
mov rcx, qword [r9]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001550
mov rdi, rax
jmp 0x1400a5682
mov rdi, qword [r9]
mov rcx, rdi
call fcn.1400217c0
cmp eax, 0xffffffff
je 0x1400a569e
btr eax, 0x1f
lea rcx, [r13 + 0x10]
mov edx, eax
call fcn.140021a00
mov ecx, dword [r13 + 0x24]
cmp ecx, 0x4b0
je 0x1400a56ef
cmp ecx, 0xfde9
je 0x1400a56db
mov rbx, qword [rsi + 8]
mov r8d, 0xa
lea rdx, [rbx + 4]
mov dword [rbx], 0x500043
call fcn.1400c8478
mov eax, 1
mov dword [rsi + 0x10], ebp
mov qword [rsi], rbx
jmp 0x1400a5764
lea rbx, str.UTF_8
mov dword [rsi + 0x10], ebp
mov qword [rsi], rbx
mov eax, 1
jmp 0x1400a5764
lea rbx, str.UTF_16
mov dword [rsi + 0x10], ebp
mov qword [rsi], rbx
mov eax, 1
jmp 0x1400a5764
test edi, edi
jne 0x1400a5710
lea rcx, [r13 + 0x10]
call fcn.1400219b0
lea rdi, [0x140117ad8]
mov dword [rsi + 0x10], ebp
mov qword [rsi], rdi
mov eax, 1
jmp 0x1400a5764
lea rdi, [0x140117ad8]
mov rax, qword [0x14012fa58]
mov dword [rsi + 0x10], ebp
cmp byte [rax + 0x150], bpl
je 0x1400a575b
mov rcx, qword [0x140139c88]
lea r8, str.FileObject
mov r9, rdi
lea rdx, [0x14010c7dc]
call fcn.140040a70
mov eax, 1
jmp 0x1400a5764
mov eax, ebx
mov r14, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x40]
add rsp, 0x48
pop r13
pop rdi
pop rsi
pop rbx
ret