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

Disassembly:
jmp 0x140019f50
mov qword [rsp + 0x18], r8
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x298
lea rcx, [rsp + 0x28]
call fcn.140003dcd
lea rcx, [rsp + 0x50]
call fcn.140003dcd
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x38], 0
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
mov dword [rsp + 0x60], eax
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0x5f
ja case.0x140019fdb.38
movsxd rax, dword [rsp + 0x40]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x1ada4]
mov eax, dword [rcx + rax*4 + 0x1ad08]
add rax, rcx
jmp rax
mov rax, qword [0x140103a80]
dec rax
mov qword [0x140103a80], rax
mov edx, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
lea rcx, [rsp + 0x78]
call fcn.140003dcd
movzx eax, byte [rsp + 0x2b8]
test eax, eax
je 0x14001a0d1
lea rcx, [rsp + 0x150]
call fcn.140002a2c
mov r8, rax
mov dl, 0x3c
lea rcx, [rsp + 0x160]
call fcn.140003071
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140001005
lea rcx, [rsp + 0x78]
call fcn.140001f46
movsx eax, al
cmp eax, 0x3e
jne 0x14001a071
mov dl, 0x20
lea rcx, [rsp + 0x78]
call fcn.1400031c5
mov dl, 0x3e
lea rcx, [rsp + 0x78]
call fcn.1400031c5
cmp qword [rsp + 0x2c0], 0
je 0x14001a093
mov rax, qword [rsp + 0x2c0]
mov byte [rax], 1
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
test eax, eax
jne 0x14001a0c0
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
mov rax, qword [0x140103a80]
mov qword [rsp + 0xa8], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.140001eb0
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400022d4
mov rax, qword [rsp + 0xa8]
mov qword [0x140103a80], rax
lea rcx, [rsp + 0x28]
call fcn.140003ed6
test eax, eax
jne 0x14001a156
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
cmp eax, 0x31
jne 0x14001a156
lea r8, [rsp + 0x28]
mov dl, 0x7e
lea rcx, [rsp + 0x180]
call fcn.140003071
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400022d4
lea rcx, [rsp + 0x78]
call fcn.140003ed6
test eax, eax
jne 0x14001a173
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x28]
call fcn.140001005
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x32
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400019ba
jmp 0x14001ac6c
mov dword [rsp + 0x4c], 1
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x39
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400019ba
jmp 0x14001ac6c
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
mov dword [rsp + 0x64], eax
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0x5f
ja case.0x14001a267.37
movsxd rax, dword [rsp + 0x44]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x1ae9c]
mov eax, dword [rcx + rax*4 + 0x1ae04]
add rax, rcx
jmp rax
mov rax, qword [0x140103a80]
dec rax
mov qword [0x140103a80], rax
mov edx, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0xe
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400019ba
jmp 0x14001ac4b
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0xe
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x2b0]
call fcn.1400026e4
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0xe
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.1400026e4
lea rcx, [rsp + 0xe0]
call fcn.140003134
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov r8d, 1
xor edx, edx
lea rcx, [rsp + 0xf0]
call fcn.1400024ff
lea rcx, [rsp + 0xf0]
call fcn.14000119f
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x15
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x2b0]
call fcn.1400026e4
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x15
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400019ba
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x190]
call fcn.140003120
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400022d4
lea rcx, [rsp + 0x50]
call fcn.140003ed6
test eax, eax
jne 0x14001a4ab
lea rcx, [rsp + 0x50]
call fcn.140002ec8
test eax, eax
je 0x14001a4ab
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x28]
call fcn.1400033c8
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
jmp 0x14001ac4b
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x15
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400019ba
mov eax, 1
imul rax, rax, 0
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x14001a54d
mov r8d, 1
mov rdx, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x28]
call fcn.1400010cd
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x30
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
jl 0x14001a57a
movsxd rax, dword [rsp + 0x38]
cmp rax, 5
jb 0x14001a599
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
movsxd rax, dword [rsp + 0x38]
imul rax, rax, 0x10
lea rcx, str._Type_Descriptor
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400019ba
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
mov dword [rsp + 0x68], eax
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0x30
je 0x14001a61b
cmp dword [rsp + 0x24], 0x31
je 0x14001a698
cmp dword [rsp + 0x24], 0x32
je 0x14001a7cc
cmp dword [rsp + 0x24], 0x33
je 0x14001a7cc
cmp dword [rsp + 0x24], 0x34
je 0x14001a7cc
jmp 0x14001a7f2
xor edx, edx
lea rcx, [rsp + 0x120]
call fcn.1400024f0
mov r8b, 0x20
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x120]
call fcn.140002059
mov qword [rsp + 0xb0], rax
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x1b0]
mov rcx, qword [rsp + 0xb0]
call fcn.1400033c8
mov qword [rsp + 0xb8], rax
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x2b0]
mov rcx, qword [rsp + 0xb8]
call fcn.1400033c8
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x28]
call fcn.1400033c8
lea rcx, [rsp + 0x1c0]
call fcn.140003da0
mov qword [rsp + 0xc0], rax
mov r8b, 0x2c
lea rdx, [rsp + 0x1d0]
mov rcx, qword [rsp + 0xc0]
call fcn.140002059
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001005
lea rcx, [rsp + 0x1e0]
call fcn.140003da0
mov qword [rsp + 0xc8], rax
mov r8b, 0x2c
lea rdx, [rsp + 0x1f0]
mov rcx, qword [rsp + 0xc8]
call fcn.140002059
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001005
lea rcx, [rsp + 0x200]
call fcn.140003da0
mov qword [rsp + 0xd0], rax
mov r8b, 0x2c
lea rdx, [rsp + 0x210]
mov rcx, qword [rsp + 0xd0]
call fcn.140002059
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001005
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.14000251d
mov qword [rsp + 0xd8], rax
mov r8b, 0x29
lea rdx, [rsp + 0x230]
mov rcx, qword [rsp + 0xd8]
call fcn.140002059
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001005
mov r8b, 0x27
mov rdx, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x88]
call fcn.140002059
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x28]
call fcn.1400033c8
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov rax, qword [0x140103a80]
dec rax
mov qword [0x140103a80], rax
mov edx, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
sub eax, 0x15
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400019ba
jmp 0x14001ac4b
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
mov dword [rsp + 0x6c], eax
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x14001a89a
cmp dword [rsp + 0x48], 0x30
je 0x14001a8ca
jmp 0x14001a90e
mov rax, qword [0x140103a80]
dec rax
mov qword [0x140103a80], rax
mov edx, 1
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
xor r8d, r8d
mov edx, 1
lea rcx, [rsp + 0x100]
call fcn.1400024ff
lea rcx, [rsp + 0x100]
call fcn.14000119f
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
mov dword [rsp + 0x70], eax
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x3c]
sub eax, 0x41
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0xd
ja case.default.0x14001a985
movsxd rax, dword [rsp + 0x3c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x1aefc]
add rax, rcx
jmp rax
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
add eax, 4
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x2b0]
call fcn.1400026e4
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
add eax, 4
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.1400026e4
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
cmp eax, 0x3f
jne 0x14001aa56
lea rcx, [rsp + 0x240]
call fcn.1400017df
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140001005
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
cmp eax, 0x40
jne 0x14001aa54
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
jmp 0x14001aa73
lea rcx, [rsp + 0x250]
call fcn.14000132a
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140001005
mov r8d, 2
lea rdx, [0x1400d3c1c]
lea rcx, [rsp + 0x260]
call fcn.140003490
lea rcx, [rsp + 0x130]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x98]
call fcn.1400039a9
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov eax, 1
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [0x140103a80]
movsx eax, byte [rcx + rax]
add eax, 4
cdqe
imul rax, rax, 0x10
lea rcx, str._new
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.1400026e4
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
test eax, eax
je 0x14001ab68
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
cmp eax, 0x40
je 0x14001ab68
mov rax, qword [0x140103a80]
movzx eax, byte [rax]
mov byte [rsp + 0x20], al
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
movzx edx, byte [rsp + 0x20]
lea rcx, [rsp + 0x110]
call fcn.1400031c5
jmp 0x14001ab18
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
cmp eax, 0x40
jne 0x14001ab88
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
lea rdx, [rsp + 0x110]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov rax, qword [0x140103a80]
movsx eax, byte [rax]
mov dword [rsp + 0x74], eax
mov rax, qword [0x140103a80]
inc rax
mov qword [0x140103a80], rax
cmp dword [rsp + 0x74], 0x32
jne 0x14001abec
mov rcx, qword [rsp + 0x2b0]
call fcn.1400040d9
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
jmp 0x14001ac6c
mov edx, 2
mov rcx, qword [rsp + 0x2b0]
call fcn.140003b70
mov rax, qword [rsp + 0x2b0]
jmp 0x14001acfd
cmp dword [rsp + 0x4c], 0
je 0x14001ac7f
lea rcx, [rsp + 0x28]
call fcn.140003ad5
jmp 0x14001ace3
lea rcx, [rsp + 0x28]
call fcn.140003ed6
test eax, eax
jne 0x14001ace3
mov r8d, 8
lea rdx, str.operator
lea rcx, [rsp + 0x270]
call fcn.140003490
lea rcx, [rsp + 0x140]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x280]
call fcn.140002c61
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400022d4
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x2b0]
call fcn.140002563
mov rax, qword [rsp + 0x2b0]
add rsp, 0x298
pop rdi
pop rsi
ret