Function at 0x5317f820
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x53202728
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push edi
mov edi, dword [esp + 0x28]
test edi, edi
mov ebx, ecx
jne 0x5317f86c
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea eax, [esp + 0x30]
push eax
lea ecx, [ebx + 4]
call fcn.5317d360
pop edi
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 8
mov ecx, dword [ebx + 8]
test ecx, ecx
push esi
lea esi, [ebx + 4]
je 0x5317f883
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x5317f8af
lea ecx, [esp + 0xc]
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SWCharString::constructor_void_]
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0xc]
push ecx
push edi
push eax
mov ecx, esi
mov dword [esp + 0x30], 0
call fcn.5317d6b0
lea ecx, [esp + 0xc]
jmp 0x5317f9ed
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5317f8ba
xor eax, eax
jmp 0x5317f8c2
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp edi, eax
ja 0x5317f92f
lea ecx, [esp + 0xc]
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SWCharString::constructor_void_]
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x24], 1
jne 0x5317f8e3
xor eax, eax
jmp 0x5317f8eb
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jbe 0x5317f91e
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5317f8fa
xor eax, eax
jmp 0x5317f902
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0xc]
push edx
sub edi, eax
push edi
push ecx
mov ecx, esi
call fcn.5317d6b0
lea ecx, [esp + 0xc]
jmp 0x5317f9ed
push edi
mov ecx, esi
call fcn.5317eee0
lea ecx, [esp + 0xc]
jmp 0x5317f9ed
mov edx, dword [esp + 0x30]
cmp edx, 0xffffffff
jne 0x5317f976
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5317f943
xor eax, eax
jmp 0x5317f94b
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
and eax, 0xfffffff8
cmp eax, 0x20
jbe 0x5317f968
mov ecx, esi
call fcn.531741f0
shr eax, 3
cmp eax, 0x400
jae 0x5317f971
mov edx, eax
jmp 0x5317f976
mov eax, 4
mov edx, eax
jmp 0x5317f976
mov edx, 0x400
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5317f981
xor eax, eax
jmp 0x5317f989
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
add eax, edx
cmp edi, eax
jae 0x5317f9a8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5317f99c
xor eax, eax
mov eax, edx
jmp 0x5317f9aa
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
add eax, edx
jmp 0x5317f9aa
mov eax, edi
push eax
mov ecx, esi
call fcn.5317d270
mov eax, dword [sym.imp.cxlibw_2_6.dll_class_CXLib206::SString_t_unsigned_short_int__1_::_EmptyBuffer_CXLib206::SString_t_unsigned_short_int__1_::EmptyBuffer]
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x24], 2
jne 0x5317f9ce
xor eax, eax
jmp 0x5317f9d6
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x14]
push edx
sub edi, eax
push edi
push ecx
mov ecx, esi
call fcn.5317d6b0
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_unsigned_short_int__1_::releaseBuffer_void_]
mov ecx, dword [esp + 0x1c]
pop esi
pop edi
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 8