Function at 0x140004540
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r12d, r12d
or rsi, 0xffffffffffffffff
mov rdi, r8
mov rbp, rdx
mov r13, rcx
mov r14, r8
mov qword [rsp + 0x70], r8
mov r15d, r12d
mov rbx, rdx
cmp word [rdx], r12w
je 0x1400048e3
movabs r14, 0x1280100000000
or r13, rsi
cmp word [rbx], 0x25
jne 0x1400048b4
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
movzx eax, word [rax]
cmp ax, 0x25
je 0x1400048b4
xor ebp, ebp
mov esi, ebp
mov r12d, ebp
test ax, ax
je 0x140004605
cmp ax, 0x23
jne 0x1400045ce
add r15d, 2
jmp 0x1400045ec
cmp ax, 0x2a
jne 0x1400045dd
mov r12d, dword [rdi]
add rdi, 8
jmp 0x1400045ec
cmp ax, 0x30
ja 0x140004600
movzx eax, ax
bt r14, rax
jae 0x140004600
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
movzx eax, word [rax]
test ax, ax
jne 0x1400045c2
test r12d, r12d
jne 0x140004635
mov rcx, rbx
call fcn.14000b828
movzx ecx, word [rbx]
mov r12d, eax
test cx, cx
je 0x140004635
call fcn.14000a374
test eax, eax
je 0x140004635
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
movzx ecx, word [rax]
test cx, cx
jne 0x140004618
cmp word [rbx], 0x2e
mov r14d, ebp
jne 0x140004692
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
mov rcx, rax
cmp word [rax], 0x2a
jne 0x140004665
mov r14d, dword [rdi]
add rdi, 8
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
jmp 0x140004692
call fcn.14000b828
movzx ecx, word [rbx]
mov r14d, eax
test cx, cx
je 0x140004692
call fcn.14000a374
test eax, eax
je 0x140004692
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
movzx ecx, word [rax]
test cx, cx
jne 0x140004675
movzx eax, word [rbx]
cmp ax, 0x49
jne 0x1400046b4
cmp word [rbx + 2], 0x36
jne 0x1400046b4
cmp word [rbx + 4], 0x34
jne 0x1400046b4
add rbx, 6
mov ebp, 0x40000
jmp 0x1400046eb
movzx eax, ax
lea ecx, [rax - 0x46]
cmp ecx, 8
ja 0x1400046c9
mov edx, 0x141
bt edx, ecx
jb 0x1400046df
cmp eax, 0x68
je 0x1400046da
cmp eax, 0x6c
jne 0x1400046eb
mov ebp, 0x20000
jmp 0x1400046df
mov ebp, 0x10000
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
movzx ecx, word [rbx]
or ecx, ebp
cmp ecx, 0x10063
jg 0x1400047cc
je 0x140004770
cmp ecx, 0x73
jg 0x1400047aa
je 0x14000477e
cmp ecx, 0x43
je 0x140004770
cmp ecx, 0x53
je 0x140004744
cmp ecx, 0x63
je 0x140004770
movzx eax, word [rbx]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x140004742.70
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x4a10]
mov ecx, dword [rdx + rax*4 + 0x4a00]
add rcx, rdx
jmp rcx
mov rcx, qword [rdi]
add rdi, 8
test rcx, rcx
jne 0x140004758
lea esi, [rcx + 6]
jmp 0x140004835
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
cmp eax, 1
mov eax, 1
cmovl esi, eax
jmp 0x14000482d
mov esi, 2
add rdi, 8
jmp 0x140004835
mov rcx, qword [rdi]
add rdi, 8
test rcx, rcx
jne 0x140004792
lea esi, [rcx + 6]
jmp 0x140004835
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
cmp eax, 1
mov eax, 1
cmovl esi, eax
jmp 0x14000482d
sub ecx, 0x10043
je 0x140004770
cmp ecx, 0x10
jne 0x140004718
mov rcx, qword [rdi]
add rdi, 8
test rcx, rcx
jne 0x14000481a
lea esi, [rcx + 6]
jmp 0x140004835
sub ecx, 0x10073
je 0x1400047bb
sub ecx, 0xffd0
je 0x140004770
sub ecx, 0x10
je 0x1400047ef
sub ecx, 0x10
je 0x140004770
cmp ecx, 0x10
jne 0x140004718
mov rax, qword [rdi]
add rdi, 8
test rax, rax
jne 0x140004800
lea esi, [rax + 6]
jmp 0x140004835
mov rsi, r13
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140004803
cmp esi, 1
mov eax, 1
cmovl esi, eax
jmp 0x14000482d
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, 1
cmp eax, 1
cmovl eax, ecx
mov esi, eax
test esi, esi
je 0x140004718
cmp esi, r12d
cmovg r12d, esi
mov esi, r12d
test r14d, r14d
je case.0x140004742.70
cmp r12d, r14d
cmovl r14d, r12d
mov esi, r14d
add r15d, r14d
movabs r14, 0x1280100000000
jmp 0x1400048b7
lea eax, [r14 + r12]
mov esi, 0x20
add rdi, 8
cmp eax, esi
jl case.0x140004742.70
mov esi, eax
add r15d, eax
movabs r14, 0x1280100000000
jmp 0x1400048b7
lea rcx, str.Floating_point____e____f____g__and___G__is_not_supported_by_the_WTL::CString_class.
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call qword [sym.imp.KERNEL32.dll_DebugBreak]
add r15d, esi
movabs r14, 0x1280100000000
jmp 0x1400048b7
add rdi, 8
add r15d, esi
movabs r14, 0x1280100000000
jmp 0x1400048b7
inc r15d
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextW]
mov rbx, rax
cmp word [rax], 0
jne 0x140004593
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
or rsi, 0xffffffffffffffff
xor r12d, r12d
mov rax, qword [r13]
cmp dword [rax - 0xc], 1
lea rbx, [rax - 0xc]
jg 0x1400048f7
cmp r15d, dword [rax - 4]
jle 0x14000494c
mov edi, dword [rax - 8]
mov rcx, r13
cmp r15d, edi
cmovl r15d, edi
mov edx, r15d
call fcn.140001290
test eax, eax
je 0x1400049e6
mov rcx, qword [r13]
lea eax, [rdi + 1]
lea rdx, [rbx + 0xc]
movsxd r8, eax
add r8, r8
call fcn.14000a3a0
mov rax, qword [r13]
mov dword [rax - 8], edi
cmp rbx, qword [0x140021010]
je 0x14000494c
mov eax, esi
lock xadd dword [rbx], eax
dec eax
jg 0x14000494c
mov rcx, rbx
call fcn.14000a238
mov rcx, qword [r13]
test rcx, rcx
je 0x1400049e6
mov r8, r14
mov rdx, rbp
call qword [sym.imp.USER32.dll_wvsprintfW]
mov rbx, qword [r13]
add rbx, 0xfffffffffffffff4
cmp dword [rbx], 1
jle 0x1400049c2
cmp rbx, qword [0x140021010]
je 0x14000499b
lock xadd dword [rbx], esi
dec esi
jg 0x140004990
mov rcx, qword [r13]
sub rcx, 0xc
call fcn.14000a238
mov rax, qword [0x140021018]
mov qword [r13], rax
mov edx, dword [rbx + 4]
mov rcx, r13
call fcn.140001290
test eax, eax
je 0x1400049c2
mov eax, dword [rbx + 4]
mov rcx, qword [r13]
lea rdx, [rbx + 0xc]
inc eax
movsxd r8, eax
add r8, r8
call fcn.14000a3a0
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [r13]
mov dword [rcx - 8], eax
mov rcx, qword [r13]
movsxd rdx, eax
mov word [rcx + rdx*2], r12w
mov eax, 1
jmp 0x1400049e8
xor eax, eax
mov rbx, qword [rsp + 0x78]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret