Function at 0x140034f30
Capabilities:
Allocate thread local storage
Print debug messages

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x7f8]
sub rsp, 0x8f0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1401310c8]
xor rax, rsp
mov qword [rbp + 0x7e0], rax
mov rdi, rcx
mov qword [rsp + 0x30], rcx
xor esi, esi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rsi
mov dword [rcx + 0x20], esi
mov qword [rcx + 0x28], rsi
mov qword [rcx + 0x30], rsi
lea rax, vtable.Win32xx::CWinApp.0
mov qword [rcx], rax
lea rbx, [rcx + 0x38]
mov qword [rsp + 0x20], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
call fcn.140038770
mov qword [rbx], rax
lea rbx, [rdi + 0x48]
mov qword [rsp + 0x20], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
call fcn.140038770
mov qword [rbx], rax
lea rbx, [rdi + 0x58]
mov qword [rsp + 0x20], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
call fcn.140038770
mov qword [rbx], rax
lea rbx, [rdi + 0x68]
mov qword [rsp + 0x20], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
call fcn.140038770
mov qword [rbx], rax
mov qword [rdi + 0x78], rsi
mov qword [rdi + 0x80], rsi
mov qword [rdi + 0x88], rsi
lea rcx, [rdi + 0x90]
mov dword [rcx + 0x28], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [rdi + 0xc0]
mov dword [rcx + 0x28], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0x108], rsi
mov qword [rdi + 0x110], rsi
mov qword [rdi + 0x118], rsi
lea rbx, [rdi + 0x120]
mov qword [rsp + 0x20], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
call fcn.140038770
mov qword [rbx], rax
mov dword [rbp + 0x7d8], esi
lea rcx, [rbp + 0x7b0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [rbp + 0x7b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lock inc dword [rbp + 0x7d8]
cmp qword [0x14013ace8], rsi
jne 0x1400351ed
mov qword [0x14013ace8], rsi
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [rdi + 0x100], eax
cmp eax, 0xffffffff
jne 0x14003510f
lea rdx, str.CWinApp::CWinApp__Failed_to_allocate_Thread_Local_Storage
lea rcx, [rsp + 0x40]
call fcn.14002e0f0
lea rax, vtable.Win32xx::CNotSupportedException.0
mov qword [rsp + 0x40], rax
lea rcx, str._CNotSupportedException_thrown__n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, str.CWinApp::CWinApp__Failed_to_allocate_Thread_Local_Storage
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, reloc.WS2_32.dll_ioctlsocket
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [rbp + 0x358], esi
je 0x1400350fd
lea rcx, [rbp + 0x156]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rdx, [0x14012e440]
lea rcx, [rsp + 0x40]
call fcn.14009d9d8
int3
cmp rdi, 0xffffffffffffffff
jne 0x14003511e
mov qword [0x14013ace8], rsi
jmp 0x140035133
mov rax, qword [0x14013ace8]
test rax, rax
cmove rax, rdi
mov qword [0x14013ace8], rax
cmp dword [rbp + 0x7d8], 0
jle 0x140035150
lea rcx, [rbp + 0x7b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lock dec dword [rbp + 0x7d8]
xor eax, eax
mov qword [rbp + 0x780], rax
mov qword [rbp + 0x788], rax
mov qword [rbp + 0x790], rax
mov qword [rbp + 0x798], rax
mov qword [rbp + 0x7a0], rax
mov qword [rbp + 0x7a8], rax
lea r8d, [rax + 0x30]
lea rdx, [rbp + 0x780]
lea rcx, [0x14013acf0]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov rax, qword [rbp + 0x788]
mov qword [rdi + 0xf0], rax
mov qword [rdi + 0xf8], rax
mov rcx, rdi
call fcn.1400356a0
nop
mov eax, dword [rbp + 0x7d8]
test eax, eax
jle 0x1400351da
lea rcx, [rbp + 0x7b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lock dec dword [rbp + 0x7d8]
mov eax, dword [rbp + 0x7d8]
test eax, eax
jg 0x1400351bc
lea rcx, [rbp + 0x7b0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop
mov rax, rdi
jmp 0x14003525f
lea rdx, str.Only_one_instance_of_CWinApp_is_permitted
lea rcx, [rbp + 0x360]
call fcn.14002e0f0
lea rax, vtable.Win32xx::CNotSupportedException.0
mov qword [rbp + 0x360], rax
lea rcx, str._CNotSupportedException_thrown__n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, str.Only_one_instance_of_CWinApp_is_permitted
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, reloc.WS2_32.dll_ioctlsocket
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [rbp + 0x778], 0
je 0x14003524b
lea rcx, [rbp + 0x576]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rdx, [0x14012e440]
lea rcx, [rbp + 0x360]
call fcn.14009d9d8
nop
mov rcx, qword [rbp + 0x7e0]
xor rcx, rsp
call fcn.1400784c0
lea r11, [rsp + 0x8f0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret