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

Disassembly:
push 0xffffffffffffffff
push 0x48cebc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x198
push ebx
push ebp
mov ebp, dword [esp + 0x1b4]
push esi
push edi
mov edi, dword [esp + 0x1b8]
mov ebx, ecx
push ebp
push edi
mov dword [esp + 0x48], ebx
call fcn.00443440
test eax, eax
je 0x44425e
mov eax, dword [ebx + 0x30]
lea ecx, [esp + 0x6c]
mov eax, dword [eax + 0x9c]
push eax
call dword [sym.imp.Staff2.dll_public:_void___thiscall_CSWMRLock::constructor_class_CSWMRG__]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x1b0], 0
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::ReadLock_void_]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x89]
mov eax, ecx
mov esi, edi
mov edi, edx
add ebx, 0x31dc
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x88]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
push ecx
push edx
mov ecx, ebx
call fcn.00488180
test eax, eax
je 0x44423f
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xb9]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xb8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, ebx
call fcn.00488180
test eax, eax
je 0x44423f
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea eax, [edx + 0x42d0]
lea esi, [ecx + 0x42d0]
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], esi
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x44423f
mov edi, dword [esi + 0xc0]
test edi, edi
je 0x444223
lea eax, [edx + 0x37d8]
add ecx, 0x37d8
mov ebx, ecx
mov dword [esp + 0x68], eax
mov edx, dword [eax + 0x7b8]
lea ebp, [eax + 0xa70]
mov dword [esp + 0x5c], edx
mov edx, dword [ecx + 0x7b8]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0xae8]
mov dword [esp + 0x50], edx
mov edx, dword [ecx + 0xae8]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x7c0]
mov dword [esp + 0x80], edx
mov edx, dword [ecx + 0x7c0]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0xaec]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0xaec]
mov dword [esp + 0x78], edx
xor edx, edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], edx
lea edi, [ecx + 0xa74]
mov esi, ebp
sub ebx, eax
mov dword [esp + 0x58], 6
mov al, byte [esi]
test al, al
je 0x443900
movsx ecx, word [esi + 2]
mov edx, dword [esp + 0x40]
push ecx
push eax
lea ecx, [edx + 0x32e8]
call fcn.00484e80
test eax, eax
je 0x443900
mov ecx, dword [esi + 4]
imul ecx, dword [eax + 0x4c]
add dword [esp + 0x2c], ecx
mov al, byte [ebx + esi]
test al, al
je 0x443930
movsx edx, word [edi - 2]
push edx
push eax
mov eax, dword [esp + 0x48]
lea ecx, [eax + 0x32e8]
call fcn.00484e80
test eax, eax
je 0x443930
mov ecx, dword [eax + 0x4c]
mov eax, dword [esp + 0x48]
imul ecx, dword [edi]
add eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
add esi, 0x10
add edi, 0x10
dec eax
mov dword [esp + 0x58], eax
jne 0x4438d6
mov eax, dword [esp + 0x5c]
cmp eax, 0xee6b2800
ja 0x4441d5
mov ecx, dword [esp + 0x64]
cmp ecx, 0xee6b2800
ja 0x4441d5
mov edx, 0xee6b2800
sub edx, eax
mov eax, dword [esp + 0x60]
cmp edx, eax
jb 0x4441d5
mov eax, 0xee6b2800
sub eax, ecx
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jb 0x4441d5
mov eax, dword [esp + 0x80]
cmp eax, 0xee6b2800
ja 0x4441d5
mov ecx, dword [esp + 0x38]
cmp ecx, 0xee6b2800
ja 0x4441d5
mov edx, 0xee6b2800
sub edx, eax
mov eax, dword [esp + 0x78]
cmp edx, eax
jb 0x4441d5
mov eax, 0xee6b2800
sub eax, ecx
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jb 0x4441d5
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + 0x24]
mov ecx, dword [esp + 0x2c]
add edx, ecx
cmp eax, edx
ja 0x4441d5
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 0x24]
add edx, eax
cmp ecx, edx
ja 0x4441d5
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
add ecx, esi
mov esi, dword [esp + 0x68]
add eax, edi
xor edi, edi
mov dword [esi + 0x7b8], eax
mov dword [esi + 0x7bc], edi
mov dword [esi + 0xae8], edi
mov dword [ebx + 0x7b8], ecx
mov dword [ebx + 0x7bc], edi
mov dword [ebx + 0xae8], edi
mov ecx, dword [esp + 0x14]
push edi
push edi
call fcn.00439f50
mov ecx, dword [esp + 0x10]
push edi
push edi
call fcn.00439f50
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x30]
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x7c0], eax
add ecx, edx
mov dword [esi + 0x7c4], edi
mov dword [esi + 0xaec], edi
mov dword [ebx + 0x7c0], ecx
mov dword [ebx + 0x7c4], edi
mov dword [ebx + 0xaec], edi
mov ecx, dword [esp + 0x14]
push edi
push edi
call fcn.00439fa0
mov ecx, dword [esp + 0x10]
push edi
push edi
call fcn.00439fa0
mov ecx, 0x18
mov esi, ebp
lea edi, [esp + 0xe8]
lea edx, [ebx + 0xa70]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x18
mov esi, edx
lea edi, [esp + 0x148]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x18
mov edi, ebp
rep stosd dword es:[edi], eax
mov ecx, 0x18
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
call fcn.004350a0
mov ecx, dword [esp + 0x10]
call fcn.004350a0
mov ebp, dword [esp + 0x40]
xor edx, edx
mov dword [esp + 0x2c], edx
mov ebx, edx
shl ebx, 4
lea eax, [esp + ebx + 0xe8]
mov esi, eax
mov eax, dword [esi]
test al, al
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov edi, dword [esi + 8]
mov dword [esp + 0x20], edi
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
je 0x443df7
test ecx, ecx
jbe 0x443df7
cmp al, 6
je 0x443b4b
push 0
lea ecx, [esp + 0x1c]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00431c60
jmp 0x443c36
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x7c], dl
lea edx, [esp + 0x30]
push 0
lea eax, [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x3c], 0
mov byte [esp + 0x40], 0
mov edi, 0x10
call fcn.004341a0
mov esi, 3
xor eax, eax
test eax, eax
jne 0x443c10
mov ecx, ebp
call fcn.004445a0
movsx ecx, byte [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0xc1]
mov eax, dword [eax + 0x40]
push ecx
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x99]
push 0x10
push ecx
mov ecx, dword [esp + 0x3d]
push edx
mov edx, dword [esp + 0x40]
and ecx, 0xff
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x43]
push edx
mov edx, dword [esp + 0x46]
and ecx, 0xff
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x49]
push edx
movsx edx, byte [esp + 0x4c]
and ecx, 0xff
push ecx
push edx
movsx ecx, word [esp + 0x4e]
movsx edx, byte [esp + 0x4c]
push ecx
push edx
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CSpecialItem::MoveUserWindowItem_int__int__int__int__int__int__int__int__int__char_const___int__int__char_const___int__int_]
dec esi
test esi, esi
jg 0x443b7d
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x14]
push 0
push eax
push edi
call fcn.00431fe0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push 0
push ecx
mov ecx, dword [esp + 0x18]
push edx
call fcn.00431fe0
cmp dword [ebp + 0x31d0], 1
je 0x443df7
mov eax, dword [ebp + 0x32c4]
cmp eax, 0x84
jl 0x443c5b
cmp eax, 0x88
jle 0x443df7
cmp eax, 0xb4
jl 0x443c6d
cmp eax, 0xbc
jle 0x443df7
mov al, byte [esp + 0x18]
cmp al, 1
jne 0x443d0f
mov ax, word [esp + 0x1a]
cmp ax, 0xc8
je 0x443db8
cmp ax, 0xc9
je 0x443db8
cmp ax, 0xd2
je 0x443db8
cmp ax, 0xd3
je 0x443db8
cmp ax, 0xdc
je 0x443db8
cmp ax, 0xdd
je 0x443db8
cmp ax, 0xe6
je 0x443db8
cmp ax, 0xe7
je 0x443db8
cmp ax, 0xf0
je 0x443db8
cmp ax, 0xf1
je 0x443db8
cmp ax, 0x45
je 0x443db8
cmp ax, 0x46
je 0x443db8
cmp ax, 0x91
je 0x443db8
cmp ax, 0x92
je 0x443db8
jmp 0x443df7
cmp al, 2
jne 0x443d31
mov ax, word [esp + 0x1a]
cmp ax, 0x66
jl 0x443df7
cmp ax, 0x81
jle 0x443db8
jmp 0x443df7
cmp al, 3
jne 0x443d6f
mov ax, word [esp + 0x1a]
cmp ax, 0x28
je 0x443db8
cmp ax, 0x29
je 0x443db8
cmp ax, 0x2a
je 0x443db8
cmp ax, 0x2b
je 0x443db8
cmp ax, 0x32
je 0x443db8
cmp ax, 0x33
je 0x443db8
cmp ax, 0x34
je 0x443db8
cmp ax, 0x35
je 0x443db8
jmp 0x443df7
cmp al, 5
jne 0x443df7
mov ax, word [esp + 0x1a]
cmp ax, 0x6f
je 0x443db8
cmp ax, 0x79
je 0x443db8
cmp ax, 0x71
je 0x443db8
cmp ax, 0x7b
je 0x443db8
cmp ax, 0x75
je 0x443db8
cmp ax, 0x7f
je 0x443db8
cmp ax, 0x76
je 0x443db8
cmp ax, 0x80
je 0x443db8
cmp ax, 0x95
je 0x443db8
cmp ax, 0x97
jne 0x443df7
mov ecx, ebp
call fcn.004445a0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0x34]
movsx edx, word [esp + 0x1a]
push ecx
push edx
movsx ecx, byte [esp + 0x20]
lea edx, [esp + 0xc1]
push ecx
push edx
mov edx, dword [ebp + 0x32c4]
lea ecx, [esp + 0x99]
push ecx
push edx
push str.ItemTrade
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CItemLog::InsertLog_char_const___int__char___char___int__int__unsigned_long_int_]
lea eax, [esp + ebx + 0x148]
mov edx, eax
mov eax, dword [edx]
test al, al
mov ecx, dword [edx + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov esi, dword [edx + 8]
mov dword [esp + 0x20], esi
mov edx, dword [edx + 0xc]
mov dword [esp + 0x24], edx
je 0x4440fe
test ecx, ecx
jbe 0x4440fe
cmp al, 6
je 0x443e46
mov ecx, dword [esp + 0x14]
push 0
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.00431c60
jmp 0x443f3d
mov cl, byte [esp + 0x2c]
lea edx, [esp + 0x38]
push 0
lea eax, [esp + 0x1c]
mov byte [esp + 0x88], cl
mov ecx, dword [esp + 0x18]
push edx
push eax
mov dword [esp + 0x44], 0
mov byte [esp + 0x48], 0
mov edi, 0x10
call fcn.004341a0
mov ebx, dword [sym.imp.rmDB.dll_public:_int___thiscall_CSpecialItem::MoveUserWindowItem_int__int__int__int__int__int__int__int__int__char_const___int__int__char_const___int__int_]
mov esi, 3
xor eax, eax
test eax, eax
jne 0x443f14
mov ecx, ebp
call fcn.004445a0
movsx ecx, byte [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ecx
push edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x91]
mov eax, dword [eax + 0x40]
push ecx
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0xc9]
push 0x10
push ecx
mov ecx, dword [esp + 0x3d]
push edx
mov edx, dword [esp + 0x40]
and ecx, 0xff
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x43]
push edx
mov edx, dword [esp + 0x46]
and ecx, 0xff
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x49]
push edx
movsx edx, byte [esp + 0x4c]
and ecx, 0xff
push ecx
push edx
movsx ecx, word [esp + 0x4e]
movsx edx, byte [esp + 0x4c]
push ecx
push edx
mov ecx, eax
call ebx
dec esi
test esi, esi
jg 0x443e85
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push 0
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00431fe0
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x10]
push 0
push edx
push edi
call fcn.00431fe0
cmp dword [ebp + 0x31d0], 1
je 0x4440fe
mov eax, dword [ebp + 0x32c4]
cmp eax, 0x84
jl 0x443f62
cmp eax, 0x88
jle 0x4440fe
cmp eax, 0xb4
jl 0x443f74
cmp eax, 0xbc
jle 0x4440fe
mov al, byte [esp + 0x18]
cmp al, 1
jne 0x444016
mov ax, word [esp + 0x1a]
cmp ax, 0xc8
je 0x4440bf
cmp ax, 0xc9
je 0x4440bf
cmp ax, 0xd2
je 0x4440bf
cmp ax, 0xd3
je 0x4440bf
cmp ax, 0xdc
je 0x4440bf
cmp ax, 0xdd
je 0x4440bf
cmp ax, 0xe6
je 0x4440bf
cmp ax, 0xe7
je 0x4440bf
cmp ax, 0xf0
je 0x4440bf
cmp ax, 0xf1
je 0x4440bf
cmp ax, 0x45
je 0x4440bf
cmp ax, 0x46
je 0x4440bf
cmp ax, 0x91
je 0x4440bf
cmp ax, 0x92
je 0x4440bf
jmp 0x4440fe
cmp al, 2
jne 0x444038
mov ax, word [esp + 0x1a]
cmp ax, 0x66
jl 0x4440fe
cmp ax, 0x81
jle 0x4440bf
jmp 0x4440fe
cmp al, 3
jne 0x444076
mov ax, word [esp + 0x1a]
cmp ax, 0x28
je 0x4440bf
cmp ax, 0x29
je 0x4440bf
cmp ax, 0x2a
je 0x4440bf
cmp ax, 0x2b
je 0x4440bf
cmp ax, 0x32
je 0x4440bf
cmp ax, 0x33
je 0x4440bf
cmp ax, 0x34
je 0x4440bf
cmp ax, 0x35
je 0x4440bf
jmp 0x4440fe
cmp al, 5
jne 0x4440fe
mov ax, word [esp + 0x1a]
cmp ax, 0x6f
je 0x4440bf
cmp ax, 0x79
je 0x4440bf
cmp ax, 0x71
je 0x4440bf
cmp ax, 0x7b
je 0x4440bf
cmp ax, 0x75
je 0x4440bf
cmp ax, 0x7f
je 0x4440bf
cmp ax, 0x76
je 0x4440bf
cmp ax, 0x80
je 0x4440bf
cmp ax, 0x95
je 0x4440bf
cmp ax, 0x97
jne 0x4440fe
mov ecx, ebp
call fcn.004445a0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0x34]
movsx edx, word [esp + 0x1a]
push ecx
push edx
movsx ecx, byte [esp + 0x20]
lea edx, [esp + 0x91]
push ecx
push edx
mov edx, dword [ebp + 0x32c4]
lea ecx, [esp + 0xc9]
push ecx
push edx
push str.ItemTrade
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CItemLog::InsertLog_char_const___int__char___char___int__int__unsigned_long_int_]
mov edx, dword [esp + 0x2c]
inc edx
cmp edx, 6
mov dword [esp + 0x2c], edx
jl 0x443af7
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x54]
mov ecx, 6
xor eax, eax
lea edi, [esi + 0xad0]
xor edx, edx
rep stosd dword es:[edi], eax
mov ecx, 6
lea edi, [ebx + 0xad0]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x44]
add ecx, 0xac
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov byte [ecx + 0x10], al
mov eax, dword [esp + 0x4c]
add eax, 0xac
mov cl, 0xfd
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov byte [eax + 0x10], dl
mov eax, dword [esp + 0x14]
mov dl, byte [eax + 0x4564]
and dl, cl
mov byte [eax + 0x4564], dl
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 0x4564]
and dl, cl
mov ecx, ebp
mov byte [eax + 0x4564], dl
call fcn.004445a0
mov eax, dword [eax + 8]
push esi
mov esi, dword [sym.imp.rmDB.dll_public:_int___thiscall_CUserDB::SetUserItem_struct_USERDB__]
mov ecx, eax
call esi
mov ecx, ebp
call fcn.004445a0
mov eax, dword [eax + 8]
push ebx
mov ecx, eax
call esi
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0x9d
call fcn.0043fc10
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0x9d
call fcn.0043fc10
jmp 0x44420b
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0x9f
call fcn.0043fc10
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0x9f
call fcn.0043fc10
mov ecx, dword [esp + 0x14]
call fcn.0040f010
mov ecx, dword [esp + 0x10]
call fcn.0040f010
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
xor eax, eax
mov dword [ecx + 0xc0], eax
mov dword [edx + 0xc0], eax
jmp 0x44423f
test eax, eax
je 0x44423f
mov eax, dword [esi + 0xc0]
test eax, eax
jne 0x44423f
push 0
push 0
push 0xa2
call fcn.0043fc10
lea ecx, [esp + 0x6c]
call dword [sym.imp.Staff2.dll_public:_int___thiscall_CSWMRLock::Unlock_void_]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x1b0], 0xffffffff
call dword [sym.imp.Staff2.dll_public_virtual:_void___thiscall_CSWMRLock::destructor_void_]
mov ecx, dword [esp + 0x1a8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1a4
ret 8