Function at 0x100e16d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e98f9
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x10285124]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [0x102a7fc8]
test eax, eax
jne 0x100e1739
push 0x220
call fcn.101b4ab7
add esp, 4
mov dword [ebp - 0x198], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.100a8450
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a7fc8], eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.100ab380
mov dword [ebp - 4], 1
mov byte [ebp - 4], 2
cmp dword [esi + 4], 0
jne 0x100e17b7
mov eax, dword [0x102a7fc8]
test eax, eax
jne 0x100e1785
push 0x220
call fcn.101b4ab7
add esp, 4
mov dword [ebp - 0x198], eax
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.100a8450
mov byte [ebp - 4], 2
mov dword [0x102a7fc8], eax
cmp dword [eax + 0x1e4], 0
lea eax, [ebp - 0x2c]
jne 0x100e17d6
cmp dword [ebp - 0x18], 8
cmovae eax, dword [ebp - 0x2c]
push eax
push str._CGDWebSocket::Start__Not_Used_Websocket_URL__s_
push 0x33
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push 0x102458b0
push 2
call fcn.100a7fc0
add esp, 0x18
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x100e17cc
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.100a5620
mov eax, 1
jmp 0x100e1d42
cmp dword [ebp - 0x18], 8
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmovae eax, dword [ebp - 0x2c]
push eax
push str._CGDWebSocket::Start__sServer_URL__s_
push 0x36
call ebx
push eax
push 0x102458b0
push 2
call fcn.100a7fc0
push 0x128
lea eax, [ebp - 0x194]
push 0
push eax
call fcn.101b7960
add esp, 0x24
lea ecx, [ebp - 0x194]
call fcn.100e0df0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
push str.x_api_token
mov byte [ebp - 0x70], 0
call fcn.100a7530
mov byte [ebp - 4], 5
mov eax, dword [0x102a7fc8]
test eax, eax
jne 0x100e1865
push 0x220
call fcn.101b4ab7
add esp, 4
mov dword [ebp - 0x198], eax
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.100a8450
mov byte [ebp - 4], 5
mov dword [0x102a7fc8], eax
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.100d3400
push eax
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x94]
call fcn.100d3c60
mov eax, dword [ebp - 0x19c]
cmp eax, 8
jb 0x100e18a5
inc eax
lea ecx, [ebp - 0x1b0]
push eax
push dword [ebp - 0x1b0]
call fcn.100a5620
xor eax, eax
mov byte [ebp - 4], 4
mov word [ebp - 0x1b0], ax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x19c], 7
mov dword [ebp - 0x1a0], 0
cmp eax, 8
jb 0x100e18db
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.100a5620
push str.x_api_refreshtoken
lea ecx, [ebp - 0x1b0]
call fcn.100a7530
mov byte [ebp - 4], 8
mov eax, dword [0x102a7fc8]
test eax, eax
jne 0x100e191f
push 0x220
call fcn.101b4ab7
add esp, 4
mov dword [ebp - 0x198], eax
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.100a8450
mov byte [ebp - 4], 8
mov dword [0x102a7fc8], eax
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.100d33c0
push eax
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x94]
call fcn.100d3c60
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x100e1956
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.100a5620
xor eax, eax
mov byte [ebp - 4], 4
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
cmp eax, 8
jb 0x100e198c
inc eax
lea ecx, [ebp - 0x1b0]
push eax
push dword [ebp - 0x1b0]
call fcn.100a5620
xor eax, eax
mov dword [ebp - 0x19c], 7
mov word [ebp - 0x1b0], ax
mov eax, dword [0x102a7fc8]
mov dword [ebp - 0x1a0], 0
test eax, eax
jne 0x100e19d9
push 0x220
call fcn.101b4ab7
add esp, 4
mov dword [ebp - 0x198], eax
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.100a8450
mov byte [ebp - 4], 4
mov dword [0x102a7fc8], eax
mov eax, dword [eax + 0x1c4]
lea ecx, [ebp - 0x5c]
push str.x_api_userid
mov dword [ebp - 0x198], eax
call fcn.100a7530
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x94]
call fcn.100b7850
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x48]
cmp eax, 8
jb 0x100e1a25
inc eax
lea ecx, [ebp - 0x5c]
push eax
push dword [ebp - 0x5c]
call fcn.100a5620
push str.x_device_uuid
lea ecx, [ebp - 0x5c]
call fcn.100a7530
mov byte [ebp - 4], 0xd
mov eax, dword [0x102a7fc8]
test eax, eax
jne 0x100e1a66
push 0x220
call fcn.101b4ab7
add esp, 4
mov dword [ebp - 0x198], eax
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.100a8450
mov byte [ebp - 4], 0xd
mov dword [0x102a7fc8], eax
push 0
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.100a8bd0
push eax
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x94]
call fcn.100d3c60
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x100e1a9c
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.100a5620
xor eax, eax
mov byte [ebp - 4], 4
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
cmp eax, 8
jb 0x100e1ac9
inc eax
lea ecx, [ebp - 0x5c]
push eax
push dword [ebp - 0x5c]
call fcn.100a5620
push str.x_device_type
lea ecx, [ebp - 0x5c]
call fcn.100a7530
push ecx
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x94]
call fcn.100e4b20
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x48]
cmp eax, 8
jb 0x100e1b03
inc eax
lea ecx, [ebp - 0x5c]
push eax
push dword [ebp - 0x5c]
call fcn.100a5620
push 8
call fcn.101b4ab7
mov edi, eax
add esp, 4
mov dword [ebp - 0x198], edi
sub esp, 0x128
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x194]
xorps xmm0, xmm0
mov ecx, esp
movq qword [edi], xmm0
push eax
call fcn.100e1f60
mov ecx, edi
call fcn.101388a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x268]
cmp dword [ebp - 0x18], 8
mov dword [esi + 8], eax
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.1011d900
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 0x12
mov ecx, dword [esi + 8]
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.100e1200
mov byte [ebp - 4], 0x13
mov ecx, dword [eax]
test ecx, ecx
jne 0x100e1b82
call fcn.100d4f80
call fcn.100c8460
mov byte [ebp - 4], 0x14
mov edi, dword [ebp - 0x1b4]
test edi, edi
je 0x100e1bbc
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x100e1bb6
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x100e1bb6
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea ecx, [ebp - 0x268]
call fcn.100d45f0
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], vtable.std::_Func_impl_class__lambda_22363146a891b24724266d61f52ed237___class_std::allocator_int___void__class_web::websockets::client::websocket_incoming_message_const__.0
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x6c]
mov eax, dword [esi + 8]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x100e1c05
mov edx, dword [ecx]
lea eax, [ebp - 0x6c]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x1024be94
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x6c]
mov eax, dword [esi + 8]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x100e1c43
mov edx, dword [ecx]
lea eax, [ebp - 0x6c]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
cmp dword [esi + 0x10], 0
jne 0x100e1c5a
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
jne 0x100e1c79
lea eax, [esi + 0x14]
push eax
push 0
push esi
push 0x100e3ef0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0xc], eax
lea ecx, [ebp - 0x194]
call fcn.100e1090
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
push str._CGDWebSocket::Start_Success_Connect_Websocket__s_
push 0x69
call ebx
push eax
push 0x102458b0
push 2
call fcn.100a7fc0
add esp, 0x18
mov dword [esi + 4], 1
lea ecx, [ebp - 0x2c]
call fcn.100a5560
mov eax, 1
jmp 0x100e1d42
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101b451c
mov esp, ebp
pop ebp
ret