Function at 0x4b0f20
Capabilities:
Access peb ldr_data
Get ntdll base address
Terminate thread

Disassembly:
push 0xffffffffffffffff
push 0x57c6d4
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov edi, dword [esp + 0x30]
mov dword [edi], vtable.KMainDlg.0
mov dword [edi + 4], vtable.KMainDlg.1.0
mov dword [edi + 8], vtable.KMainDlg.2.0
mov dword [edi + 0xc], vtable.KMainDlg.3.0
mov dword [edi + 0x10], vtable.KMainDlg.4.0
mov dword [edi + 0x14], vtable.KMainDlg.5.0
mov dword [edi + 0x18], vtable.KMainDlg.6.0
mov dword [esp + 0x28], 0x1c
mov eax, dword [edi + 0x1bac]
mov ebp, dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov esi, dword [sym.imp.KERNEL32.dll_TerminateThread]
xor ebx, ebx
cmp eax, ebx
je 0x4b0fc8
lea ecx, [esp + 0x1c]
push ecx
push eax
call ebp
test eax, eax
je 0x4b0fbb
cmp dword [esp + 0x1c], 0x103
jne 0x4b0fbb
mov edx, dword [edi + 0x1bac]
push ebx
push edx
call esi
mov eax, dword [edi + 0x1bac]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [edi + 0x1bb4]
cmp eax, ebx
je 0x4b0fff
lea ecx, [esp + 0x1c]
push ecx
push eax
call ebp
test eax, eax
je 0x4b0ff2
cmp dword [esp + 0x1c], 0x103
jne 0x4b0ff2
mov edx, dword [edi + 0x1bb4]
push ebx
push edx
call esi
mov eax, dword [edi + 0x1bb4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [edi + 0x1bb0]
cmp eax, ebx
je 0x4b1036
lea ecx, [esp + 0x1c]
push ecx
push eax
call ebp
test eax, eax
je 0x4b1029
cmp dword [esp + 0x1c], 0x103
jne 0x4b1029
mov edx, dword [edi + 0x1bb0]
push ebx
push edx
call esi
mov eax, dword [edi + 0x1bb0]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [edi + 0x1878]
cmp ecx, ebx
je 0x4b104f
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1878], ebx
mov ecx, dword [edi + 0x1880]
cmp ecx, ebx
je 0x4b1068
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1880], ebx
mov ecx, dword [edi + 0x1884]
cmp ecx, ebx
je 0x4b1081
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1884], ebx
mov ecx, dword [edi + 0x1888]
cmp ecx, ebx
je 0x4b109a
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1888], ebx
mov ecx, dword [edi + 0x189c]
cmp ecx, ebx
je 0x4b10b3
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x189c], ebx
mov ecx, dword [edi + 0x1874]
cmp ecx, ebx
je 0x4b10cc
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1874], ebx
mov ecx, dword [edi + 0x18a0]
cmp ecx, ebx
je 0x4b10e5
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x18a0], ebx
mov ecx, dword [edi + 0x18a4]
cmp ecx, ebx
je 0x4b10fe
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x18a4], ebx
mov ecx, dword [edi + 0x18a8]
cmp ecx, ebx
je 0x4b1117
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x18a8], ebx
mov ecx, dword [edi + 0x18ac]
cmp ecx, ebx
je 0x4b1130
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x18ac], ebx
mov ecx, dword [edi + 0x18e4]
cmp ecx, ebx
je 0x4b1149
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x18e4], ebx
mov ecx, dword [edi + 0x187c]
cmp ecx, ebx
je 0x4b1162
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x187c], ebx
mov ecx, dword [edi + 0x1ad0]
cmp ecx, ebx
je 0x4b117b
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1ad0], ebx
mov ecx, dword [edi + 0x1bdc]
cmp ecx, ebx
je 0x4b1194
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1bdc], ebx
mov ecx, dword [edi + 0x18c0]
cmp ecx, ebx
je 0x4b11ad
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x18c0], ebx
mov ecx, dword [edi + 0x1be0]
cmp ecx, ebx
je 0x4b11c6
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1be0], ebx
mov ecx, dword [edi + 0x1be8]
cmp ecx, ebx
je 0x4b11df
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [edi + 0x1be8], ebx
lea ecx, [edi + 0x2e3c]
mov byte [esp + 0x28], 0x1b
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [edi + 0x2e38]
cmp eax, ebx
je 0x4b1207
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x2e38], ebx
mov byte [esp + 0x28], 0x19
mov eax, dword [edi + 0x2e00]
cmp eax, ebx
je 0x4b121e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [edi + 0x2dec]
cmp eax, ebx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
je 0x4b1231
push eax
call esi
mov byte [esp + 0x28], 0x17
mov eax, dword [edi + 0x2de8]
cmp eax, ebx
je 0x4b1248
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x28], 0x16
mov eax, dword [edi + 0x2de4]
cmp eax, ebx
je 0x4b125f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [edi + 0x2dd0]
cmp eax, ebx
je 0x4b126c
push eax
call esi
lea eax, [edi + 0x2d50]
push eax
mov byte [esp + 0x2c], 0x14
call fcn.004b0e90
lea ecx, [edi + 0x2cbc]
push ecx
mov byte [esp + 0x2c], 0x13
call fcn.00540a70
mov byte [esp + 0x28], 0x12
mov eax, dword [edi + 0x2cb4]
sub eax, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b12b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [edi + 0x1bec]
mov byte [esp + 0x28], 0x11
call fcn.0040e390
lea ecx, [edi + 0x1bc4]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [edi + 0x1ad8]
call fcn.00457210
lea eax, [edi + 0x1ac4]
mov byte [esp + 0x28], 0xe
call fcn.0043c9f0
lea eax, [edi + 0x1ab8]
mov byte [esp + 0x28], 0xd
call fcn.004c5230
lea eax, [edi + 0x1aac]
mov byte [esp + 0x28], 0xc
call fcn.004c4fd0
lea ecx, [edi + 0x1a8c]
mov byte [esp + 0x28], 0xb
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [edi + 0x1a60]
mov byte [esp + 0x28], 0xa
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea edx, [edi + 0x1914]
push edx
mov byte [esp + 0x2c], 9
call fcn.004b0dd0
lea esi, [edi + 0x18e8]
call fcn.0052f060
mov byte [esp + 0x28], 7
mov eax, dword [edi + 0xc78]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b1372
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [edi + 0xba8]
call fcn.00457210
lea ecx, [edi + 0xad8]
call fcn.00457210
mov byte [esp + 0x28], 4
mov eax, dword [edi + 0xad4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b13af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x28], 3
mov eax, dword [edi + 0xad0]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b13d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [edi + 0xab4]
push ecx
mov byte [esp + 0x2c], 2
call fcn.004a98f0
lea edx, [edi + 0x40]
push edx
mov byte [esp + 0x2c], 1
call fcn.00476be0
mov byte [esp + 0x28], bl
mov eax, dword [edi + 0x2c]
cmp eax, ebx
je 0x4b1406
push eax
call fcn.0056b572
mov dword [edi + 0xc], vtable.IPC::Listener.0
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4