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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1010f28c
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x10152034]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x10152034]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_bool___thiscall_CNetManager::IsConnected_void_]
test al, al
je 0x1002a441
push str.KeyEvent_start
push 1
push 0x14
push 0x10121860
push 0x10121898
call fcn.100ff930
push ecx
mov ecx, esp
push 0x101218b4
call fcn.10002200
lea eax, [esp + 0x30]
push eax
call fcn.100c8ee0
add esp, 0x1c
mov dword [esp + 0xd0], 0
mov ecx, dword [eax]
call fcn.100c8ea0
mov dword [esp + 0xd0], 0xffffffff
or esi, 0xffffffff
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x10029e13
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x10029e13
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x10029e13
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
movq qword [esp + 0x3c], xmm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
sub esp, 0x18
mov dword [esp + 0xe8], 1
mov ecx, esp
mov dword [esp + 0x38], esp
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push 0x101189af
mov byte [ecx], 0
call fcn.10008550
lea eax, [esp + 0x54]
mov byte [esp + 0xe8], 2
push eax
call fcn.1002aa50
mov ecx, eax
mov byte [esp + 0xec], 1
call fcn.100d51b0
mov ecx, dword [esp + 0x40]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0x3c]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], eax
jne 0x10029f2a
sub esp, 0x18
mov ecx, esp
push 0x101218cc
call fcn.10002200
lea eax, [esp + 0x30]
push eax
call fcn.100c8ee0
add esp, 0x1c
mov byte [esp + 0xd0], 3
mov ecx, dword [eax]
call fcn.100c8ec0
mov byte [esp + 0xd0], 1
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x10029f0a
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x10029f0a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
lock xadd dword [eax], esi
dec esi
jne 0x10029f0a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x101218e4
push 1
push 0x1c
push 0x101218f4
push 0x1012192c
call fcn.100ff930
add esp, 0x14
jmp 0x1002a41c
call fcn.1002aa50
mov ecx, eax
call fcn.100bd650
sub esp, 0x18
mov ecx, esp
push 0x10121948
call fcn.10002200
lea eax, [esp + 0x30]
push eax
call fcn.100c8ee0
add esp, 0x1c
mov byte [esp + 0xd0], 4
mov ecx, dword [eax]
call fcn.100c8ec0
mov byte [esp + 0xd0], 1
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x10029f93
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x10029f93
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
lock xadd dword [eax], esi
dec esi
jne 0x10029f93
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [0x10158080]
test al, 1
jne 0x10029fe2
or eax, 1
mov dword [0x10158080], eax
xorps xmm0, xmm0
mov byte [esp + 0xd0], 5
movq qword [0x10158084], xmm0
mov dword [0x10158084], 0
mov dword [0x10158088], 0
call fcn.10018230
push 0x10116680
mov dword [0x10158084], eax
call fcn.1010a16b
add esp, 4
xor eax, eax
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], ax
mov byte [esp + 0xd0], 6
call fcn.100c75e0
cmp dword [esp + 0x24], 0
mov ebx, eax
jbe 0x1002a315
xor edi, edi
mov dword [esp + 0x28], edi
push ebx
call fcn.100c73d0
mov esi, eax
add esp, 4
mov eax, 0x66666667
imul esi
mov eax, esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea ecx, [ecx + ecx*4]
add ecx, ecx
sub eax, ecx
jne 0x1002a0ff
test esi, esi
je 0x1002a0ff
push ebx
call fcn.100c5f70
sub esp, 0x14
mov ecx, esp
push eax
call fcn.10007fa0
lea ecx, [esp + 0x78]
call fcn.10040de0
mov ecx, esp
mov byte [esp + 0xe8], 7
mov dword [esp + 0x2c], esp
lea eax, [esp + 0x78]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.100081b0
mov byte [esp + 0xe8], 8
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
mov byte [esp + 0xe8], 7
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::AddData_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
test ebx, ebx
je 0x1002a0c7
push ebx
call fcn.100c4d40
add esp, 4
call fcn.100c75e0
mov byte [esp + 0xd0], 6
mov ebx, eax
cmp dword [esp + 0x74], 0x10
jb 0x1002a0ea
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], 0
mov byte [esp + 0x60], 0
mov esi, dword [esp + 0x3c]
add esi, edi
mov eax, dword [esi + 0x58]
mov dword [esp + 0x14], eax
test eax, eax
je 0x1002a304
push dword [esi + 0x24]
lea eax, [esp + 0xac]
push dword [esi + 0x20]
push eax
call fcn.100c05c0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], 0
mov word [esp + 0x48], ax
mov byte [esp + 0xd0], 0xa
lea eax, [esp + 0x48]
cmp byte [esi + 0x18], 0
je 0x1002a158
add esi, 0x40
jmp 0x1002a15b
add esi, 0x28
cmp eax, esi
je 0x1002a16d
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x54]
call fcn.10001d60
mov eax, dword [esp + 0x14]
mov ecx, 0x10158084
mov edi, dword [0x10158084]
add eax, 0x1c
push eax
call fcn.1000c8e0
mov esi, eax
mov eax, dword [0x10158084]
cmp esi, eax
je 0x1002a1c4
cmp dword [esi + 0x24], 8
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x1002a19e
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x18]
push eax
push dword [ecx + 0x2c]
lea ecx, [ecx + 0x1c]
push 0
call fcn.100035e0
test eax, eax
js 0x1002a1bf
mov dword [esp + 0x2c], esi
lea eax, [esp + 0x2c]
jmp 0x1002a1cc
mov eax, dword [0x10158084]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
cmp dword [eax], edi
jne 0x1002a293
mov edi, dword [esp + 0x14]
sub esp, 0x18
mov esi, esp
mov dword [esp + 0x48], esp
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [edi + 0x124]
push eax
call fcn.10001d60
mov ecx, esi
call fcn.10040a50
mov byte [esp + 0x100], 0xb
mov esi, esp
mov dword [esp + 0x48], esp
xor eax, eax
sub esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [edi + 0x10c]
push eax
call fcn.10001d60
mov ecx, esi
call fcn.10040a50
add esp, 0x18
mov byte [esp + 0x100], 0xc
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
mov byte [esp + 0x100], 0xa
call dword [sym.imp.NetCommHelper.dll_public:_bool___thiscall_CNetManager::UploadFile_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
test al, al
je 0x1002a293
lea eax, [edi + 0x1c]
mov ecx, 0x10158084
push eax
call fcn.10018260
push eax
add eax, 0x10
push eax
push ecx
lea eax, [esp + 0x40]
mov ecx, 0x10158084
push eax
call fcn.10018300
sub esp, 0x18
push esp
call fcn.100c0820
mov ecx, dword [esp + 0x58]
add esp, 4
mov edi, dword [esp + 0x40]
lea ecx, [edi + ecx]
call fcn.1002a610
push eax
push ebx
call fcn.100c74b0
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 8
cmp dword [esp + 0x5c], 8
jb 0x1002a2cf
push dword [esp + 0x48]
call esi
add esp, 4
xor eax, eax
mov byte [esp + 0xd0], 6
cmp dword [esp + 0xbc], 8
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], 0
mov word [esp + 0x48], ax
jb 0x1002a304
push dword [esp + 0xa8]
call esi
add esp, 4
add edi, 0x60
dec dword [esp + 0x24]
mov dword [esp + 0x28], edi
jne 0x1002a022
push ebx
call fcn.100c73d0
add esp, 4
test ebx, ebx
je 0x1002a3c1
test eax, eax
jle 0x1002a3b8
push ebx
call fcn.100c5f70
sub esp, 0x14
mov ecx, esp
push eax
call fcn.10007fa0
lea ecx, [esp + 0x90]
call fcn.10040de0
mov ecx, esp
mov byte [esp + 0xe8], 0xd
mov dword [esp + 0x30], esp
lea eax, [esp + 0x90]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.100081b0
mov byte [esp + 0xe8], 0xe
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
mov byte [esp + 0xe8], 0xd
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::AddData_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
mov byte [esp + 0xd0], 6
cmp dword [esp + 0x8c], 0x10
jb 0x1002a3b8
push dword [esp + 0x78]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
push ebx
call fcn.100c4d40
add esp, 4
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::HandleData_void_]
mov ecx, dword [esp + 0x40]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0x3c]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.KeyEvent_size:__d
push 1
push 0x5e
push 0x10121974
push 0x101219ac
call fcn.100ff930
push str.KeyEvent_end
push 1
push 0x5f
push str..._srcMoniterHelperEventExecuteHandleKeyEvent.cpp
push str.CHandleKeyEvent::HandleData
call fcn.100ff930
add esp, 0x2c
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x1002a43f
push dword [esp + 0x18]
mov edx, dword [esp + 0x44]
push ecx
call fcn.1002a4f0
push dword [esp + 0x44]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 0xc
mov al, 1
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.1010a06b
mov esp, ebp
pop ebp
ret