joyce8/EMBER2024-capa huggingface dataset:
Function at 0x468850
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48d9e9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea ecx, [esp + 4]
lea edx, [esp + 0x18]
add esi, 0x31dc
push ecx
lea eax, [esp + 0xc]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x4688f3
push ebx
mov ebx, dword [esp + 0x68]
push ebp
mov ebp, dword [esp + 0x64]
push edi
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
push edx
call fcn.0041b6f0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x4688c0
pop edi
pop ebp
pop ebx
lea ecx, [esp + 0xc]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 0x14

Function at 0x468f10
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48da29
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 0x14]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
mov bl, byte [esi + 0x3289]
lea ecx, [esi + 0x325c]
call fcn.00404f50
mov al, byte [esi + 0x3289]
cmp bl, al
mov byte [esp + 0xc], al
je 0x468fbb
lea ecx, [esp + 8]
lea edx, [esp + 0x20]
add esi, 0x31dc
push ecx
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x468fbb
push edi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push edi
call fcn.0041b5b0
lea ecx, [esp + 0xc]
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x468f96
pop edi
lea ecx, [esp + 0x14]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x50]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x54
ret
Function at 0x4692b0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x48da69
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push esi
mov esi, ecx
lea ecx, [esp + 4]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 4]
mov dword [esp + 0x18], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push ecx
push edx
lea ecx, [esi + 0x31dc]
call fcn.004884b0
pop esi
lea ecx, [esp]
test eax, eax
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp]
mov dword [esp + 0x14], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 8

Function at 0x469990
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48dae9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push esi
mov ebx, ecx
push edi
mov edi, dword [esp + 0x70]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x31]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + 0x9c]
lea ecx, [esp + 0x14]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea edx, [esp + 0x70]
lea eax, [esp + 0xc]
push edx
lea ecx, [esp + 0x34]
push eax
push ecx
lea ecx, [ebx + 0x31dc]
call fcn.00488210
test eax, eax
je 0x469a3e
lea edx, [esp + 0xc]
push 1
lea eax, [esp + 0x24]
push edx
push eax
mov ecx, ebx
call fcn.00468220
push 0
lea ecx, [esp + 0x10]
push 1
lea edx, [esp + 0x38]
push ecx
push edx
mov ecx, ebx
call fcn.00469780
lea ecx, [esp + 0x14]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x60
ret 4
Function at 0x4703d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48dc09
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
mov esi, ecx
push ebx
call dword [sym.imp.Staff2.dll_char___cdecl_STAFFOppositeDir_char_]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
add esp, 4
mov byte [ecx + 0x18], al
mov byte [ebp + 0x18], bl
mov edx, dword [esi + 0x30]
lea ecx, [esp + 0x1c]
mov eax, dword [edx + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x60], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
push eax
mov eax, dword [esp + 0x88]
lea edx, [esp + 0x2c]
push ecx
push edx
lea ecx, [esp + 0x1c]
lea ebx, [esi + 0x31dc]
push eax
push ecx
mov ecx, ebx
call fcn.00488500
test eax, eax
je 0x470515
push edi
lea eax, [ebp + 1]
lea edx, [esp + 0x2d]
push eax
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4704b2
mov al, byte [esp + 0x2c]
mov cl, byte [ebp]
cmp al, cl
jne 0x4704b2
mov ecx, dword [esp + 0x10]
call fcn.0043fb40
mov ecx, 0xb
mov esi, ebp
lea edi, [esp + 0x2c]
mov edx, dword [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x74]
lea eax, [esp + 0x2c]
movsw word es:[edi], word [esi]
mov byte [ebp + 0x18], cl
push edx
push eax
mov ecx, ebx
call fcn.00488410
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push ebp
push eax
call fcn.0043fb60
lea ecx, [esp + 0x10]
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x30]
push edx
push eax
lea edx, [esp + 0x20]
push ecx
push edx
mov ecx, ebx
call fcn.00488580
test eax, eax
jne 0x470461
pop edi
lea ecx, [esp + 0x1c]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x60], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x58]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret 0x24
Function at 0x470550
Capabilities:
Access peb ldr_data
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x48dc30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push esi
xor ebx, ebx
push str.Config_rmServer.ini
lea eax, [esp + 0x10]
push ebx
push eax
call dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetInstancePathAndFilename_struct_HINSTANCE_____char_const__]
add esp, 0xc
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x10]
push ecx
push 0x1e
push edx
push str.NoAddress
push str.IPTCP
push str.MapCenter
mov dword [esp + 0x50], ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov byte [esp + 0x2e], bl
mov esi, str.NoAddress
lea eax, [esp + 0x10]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4705d6
cmp cl, bl
je 0x4705d2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4705d6
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4705b2
xor eax, eax
jmp 0x4705db
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4706b0
mov al, byte [esp + 0x10]
xor esi, esi
cmp al, 0x2c
je 0x4705fa
cmp al, bl
je 0x4705fa
mov al, byte [esp + esi + 0x11]
inc esi
cmp al, 0x2c
jne 0x4705ed
cmp byte [esp + esi + 0x10], bl
je 0x4706b0
push edi
mov edi, dword [esp + 0x44]
lea eax, [esp + 0x14]
mov ecx, edi
push eax
mov byte [esp + esi + 0x18], bl
call sub.MFC42.DLL_CString::operator
mov ecx, edi
call sub.MFC42.DLL_CString::TrimLeft
mov ecx, edi
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + esi + 0x15]
push ecx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0xc]
mov byte [esp + 0x3c], 1
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::TrimRight
mov edx, dword [edi]
pop edi
cmp dword [edx - 8], ebx
je 0x4706a3
mov eax, dword [esp + 8]
cmp dword [eax - 8], ebx
je 0x4706a3
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov ecx, dword [esp + 0x48]
add esp, 4
mov byte [esp + 0x38], bl
mov dword [ecx], eax
lea ecx, [esp + 8]
call fcn.00489b20
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call fcn.00489b20
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
add esp, 0x34
ret 8
lea ecx, [esp + 8]
mov byte [esp + 0x38], bl
call fcn.00489b20
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call fcn.00489b20
mov ecx, dword [esp + 0x30]
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x34
ret 8
Function at 0x471490
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48dd1c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x444
push ebx
push esi
mov ebx, ecx
push edi
mov edi, dword [esp + 0x460]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x21]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x1c], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx + 0x9c]
lea ecx, [esp + 0x10]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0x10]
mov dword [esp + 0x458], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea edx, [esp + 0xc]
lea eax, [esp + 0x20]
push edx
push eax
lea ecx, [ebx + 0x31dc]
call fcn.00488180
test eax, eax
je 0x471583
mov eax, dword [esp + 0x464]
cmp ax, 0x103
jne 0x471558
mov ecx, dword [esp + 0x468]
mov edx, dword [esp + 0x46c]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push 0x103
call fcn.0043a380
lea ecx, [esp + 0x10]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
jmp 0x471627
mov esi, dword [esp + 0x468]
mov ecx, dword [esp + 0xc]
push 1
push esi
mov esi, dword [esp + 0x474]
mov edx, dword [ecx]
push esi
push eax
call dword [edx + 0xc]
lea ecx, [esp + 0x10]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
jmp 0x471627
push ebp
lea ecx, [esp + 0x14]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
mov ebp, dword [esp + 0x470]
lea eax, [ebp + 0x15]
cmp eax, 0x400
jbe 0x4715ac
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov ebx, eax
jmp 0x4715b0
lea ebx, [esp + 0x54]
mov edi, dword [esp + 0x464]
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x24]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x46c]
mov esi, dword [esp + 0x470]
mov word [ebx + 0x11], cx
mov ecx, ebp
mov edx, ecx
lea edi, [ebx + 0x15]
shr ecx, 2
mov word [ebx + 0x13], bp
add ebp, 0x15
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
push 0x268
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + 0x34]
call dword [sym.imp.Nw200.dll_protected:_int___thiscall_CConnectHandler::SendPacket_short_int__short_int__void_const__]
lea ecx, [esp + 0x54]
pop ebp
cmp ebx, ecx
je 0x471627
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x458], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x450]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x450
ret 0x10
Function at 0x472fe0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48ddd9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea ecx, [esp + 4]
lea edx, [esp + 0x18]
add esi, 0x31dc
push ecx
lea eax, [esp + 0xc]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x473088
push ebx
mov ebx, dword [esp + 0x5c]
push edi
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x43a4], 2
jne 0x473061
call fcn.0043b950
mov ecx, dword [esp + 0xc]
push 0
push 0
push ebx
push edi
call fcn.0043ed40
lea ecx, [esp + 0xc]
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x47304b
pop edi
pop ebx
lea ecx, [esp + 0xc]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 8

Function at 0x4730c0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48ddf9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea ecx, [esp + 4]
lea edx, [esp + 0x18]
add esi, 0x31dc
push ecx
lea eax, [esp + 0xc]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x473176
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
mov ebp, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x43a4], 2
jne 0x473146
call fcn.0043b950
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x21b0], ebp
jne 0x473159
push 0
push 0
push ebx
push edi
call fcn.0043ed40
lea ecx, [esp + 0x10]
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x473130
pop edi
pop ebp
pop ebx
lea ecx, [esp + 0xc]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 0xc
Function at 0x473380
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48de39
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea ecx, [esp + 4]
lea edx, [esp + 0x18]
add esi, 0x31dc
push ecx
lea eax, [esp + 0xc]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x47340b
push edi
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 8]
push edi
call fcn.0041b540
lea ecx, [esp + 8]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x4733e6
pop edi
lea ecx, [esp + 0xc]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 4

Function at 0x473440
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48de59
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea ecx, [esp + 4]
lea edx, [esp + 0x18]
add esi, 0x31dc
push ecx
lea eax, [esp + 0xc]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x4734cb
push edi
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 8]
push edi
call fcn.00410410
lea ecx, [esp + 8]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x4734a6
pop edi
lea ecx, [esp + 0xc]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 4
Function at 0x473820
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48deb9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
lea ecx, [esp + 4]
lea edx, [esp + 0x18]
add esi, 0x31dc
push ecx
lea eax, [esp + 0xc]
push edx
push eax
mov ecx, esi
call fcn.004882b0
test eax, eax
je 0x4738ab
push edi
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 8]
push edi
call fcn.00441910
lea ecx, [esp + 8]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.00488380
test eax, eax
jne 0x473886
pop edi
lea ecx, [esp + 0xc]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0xc]
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 8

Function at 0x474ec0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48e0b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
push edi
mov edi, dword [esp + 0x1c]
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call dword [sym.imp.Nw200.dll_public:_void___thiscall_CMugServer::constructor_unsigned_int_]
push edi
push 0
push 0
push 0
mov ecx, esi
mov dword [esp + 0x24], 0
mov dword [esi], 0x48fe60
mov dword [esi + 4], 7
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CThinThread::CreateThread_unsigned_long_int__unsigned_int__struct__SECURITY_ATTRIBUTES___unsigned_int_]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x38], ecx
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], 0
mov dword [esi + 0x3c], edx
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret 0x10
Function at 0x482a40
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ecx
push ebp
push edi
mov ebp, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [ebp + 0x84]
mov dword [esp + 8], eax
test edi, edi
je 0x482ad5
push ebx
push esi
mov eax, edi
mov ebx, edi
mov edi, dword [edi]
mov esi, dword [eax + 8]
test esi, esi
je 0x482acf
mov ax, word [esi + 0xe]
test ax, ax
jg 0x482a88
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [ebp + 0x80]
push ebx
call sub.MFC42.DLL_CPtrList::RemoveAt
jmp 0x482acf
mov ecx, dword [esp + 0x10]
mov ebx, dword [esi + 0x18]
sub ecx, ebx
cmp ecx, 0x3e8
jbe 0x482acf
dec eax
mov word [esi + 0xe], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x18], eax
cmp word [ecx + 0x28], 0x2710
jl 0x482acf
mov dx, word [esi + 0x10]
push 1
push 0
lea eax, [esi + 8]
push ecx
mov ecx, dword [esi + 4]
push edx
mov edx, dword [esi]
push eax
push ecx
push eax
push edx
mov ecx, ebp
call fcn.004813c0
test edi, edi
jne 0x482a5b
pop esi
pop ebx
pop edi
pop ebp
pop ecx
ret

Function at 0x483800
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48e489
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0xa4]
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 0x9c]
lea ecx, [esp + 0x14]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
mov edi, dword [esp + 0x64]
mov edx, dword [esi + 0x34]
lea eax, [esp + 0xc]
add esi, 0x34
push 0
lea ecx, [esp + 0x24]
push eax
push ecx
lea eax, [esp + 0x14]
push edi
push eax
mov ecx, esi
mov dword [esp + 0x6c], 0
call dword [edx + 0x1c]
test eax, eax
je 0x48389b
push ebx
mov ebx, dword [esp + 0x64]
push 1
lea ecx, [esp + 0x14]
push 0
lea edx, [esp + 0x2c]
push ecx
push edx
mov ecx, ebx
call fcn.0043d8d0
mov eax, dword [esi]
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x18]
push edi
push ecx
mov ecx, esi
call dword [eax + 0x20]
test eax, eax
jne 0x483868
pop ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x50]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x54
ret 8