Function at 0x4a69d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x523cf8
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x589560]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x80]
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x80], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], vtable.t_lockerMemSharable.0
mov dword [esp + 0x78], ebx
mov eax, dword [vtable.t_mutex.0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5ab398
call edx
test al, al
jne 0x4a6a8c
push str.t_mutex::Lock
push ebp
call fcn.004708d0
add esp, 8
cmp al, bl
je 0x4a6aa0
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0xc]
lea ecx, [esi + 0x10]
mov dword [esp + 0x30], 0x5ab398
call edx
test al, al
je 0x4a6a73
cmp dword [esi + 0x430], ebx
je 0x4a6a73
mov eax, dword [esi + 0x434]
mov eax, dword [eax + 4]
test eax, eax
jne 0x4a6ac3
mov ecx, 0x5ab398
mov dword [esp + 0x78], 0xffffffff
call fcn.0046b5a0
mov al, 1
jmp 0x4a6b27
mov eax, dword [vtable.t_mutex.0]
mov edx, dword [eax + 0x10]
push ebp
mov ecx, 0x5ab398
call edx
test al, al
jmp 0x4a6a45
mov ecx, ebp
call fcn.00470820
push 0x56a700
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
mov byte [esp + 0x80], bl
jmp 0x4a6b20
lea ecx, [esp + 0x1c]
push ecx
lea edi, [esp + 0x24]
lea ecx, [esp + 0x30]
mov ebx, ebp
call fcn.004a3a50
test al, al
jne 0x4a6b3d
mov ecx, ebp
call fcn.00470820
push 0x56a720
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
mov ecx, 0x5ab398
mov byte [esp + 0x80], 0
mov dword [esp + 0x78], 0xffffffff
call fcn.0046b5a0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4a6b20
push eax
call fcn.004ff376
add esp, 4
mov al, byte [esp + 0x80]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret 8
xor ebx, ebx
mov byte [esp + 0x38], bl
mov dword [esp + 0x34], ebx
mov byte [esp + 0x78], 1
mov edx, dword [vtable.t_mutex.0]
mov eax, dword [edx + 0x14]
mov ecx, 0x5ab398
call eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], bl
call fcn.004707c0
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x34], ebx
push ebp
lea ebx, [esp + 0x24]
call fcn.004a7fe0
add esp, 8
test al, al
jne 0x4a6baa
mov ecx, ebp
call fcn.00470820
push 0x56a720
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
mov byte [esp + 0x80], 0
jmp 0x4a6b0f
mov esi, dword [esp + 0x84]
cmp byte [esi + 0x11c], 0
lea eax, [esi + 0xc]
jne 0x4a6bc0
mov eax, dword [esi + 8]
lea edx, [esp + 0x3c]
push edx
add eax, 4
push eax
call fcn.0050266c
xor ebx, ebx
add esp, 8
cmp eax, ebx
jne 0x4a6ca9
test dword [esp + 0x42], 0x4000
jne 0x4a6ca9
lea eax, [esp + 0x24]
push eax
mov ecx, esi
mov edi, ebp
mov dword [esp + 0x28], ebx
call fcn.004a7570
mov esi, dword [esp + 0x28]
add esp, 4
test al, al
jne 0x4a6c23
cmp esi, ebx
je 0x4a6c15
push esi
call fcn.004ff376
add esp, 4
xor esi, esi
mov ecx, ebp
call fcn.00470c90
mov ecx, ebp
call fcn.00470870
cmp esi, ebx
mov dword [esp + 0x28], ebx
je 0x4a6ca9
mov edi, dword [esp + 0x1c]
push 0x4a7e50
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
mov ecx, esi
mov eax, edi
call fcn.004a78b0
push esi
mov bl, al
call fcn.004ff376
add esp, 0x14
test bl, bl
jne 0x4a6c92
mov ecx, ebp
call fcn.00470820
push str._bTvk
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
mov ecx, ebp
call fcn.00470c90
mov ecx, ebp
call fcn.00470870
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4a6ca7
push eax
call fcn.004ff376
add esp, 4
jmp 0x4a6ca7
push edi
call fcn.004ff376
mov eax, dword [esp + 0x2c]
add esp, 4
test eax, eax
je 0x4a6ca7
mov dword [esp + 0x1c], eax
xor ebx, ebx
mov eax, dword [esp + 0x20]
push eax
sub esp, 0x124
mov edi, esp
lea esi, [edi + 8]
mov dword [edi], vtable.t_str.0
lea eax, [esi + 4]
mov ecx, 1
mov byte [esi + 0x114], cl
mov word [esi + 0x112], 4
mov dword [esi], eax
mov dword [eax], ebx
mov dword [esp + 0x150], esp
mov dword [edi + 0x120], ebx
mov dword [edi + 4], ebx
call fcn.0046b260
cmp byte [esi + 0x114], 0
lea eax, [esi + 4]
jne 0x4a6cfd
mov eax, dword [esi]
mov word [eax + 4], bx
mov ebx, dword [esp + 0x1ac]
cmp byte [ebx + 0x11c], 0
je 0x4a6d16
add ebx, 0xc
jmp 0x4a6d19
mov ebx, dword [ebx + 8]
add ebx, 4
jne 0x4a6d23
mov ebx, 0x54b914
mov eax, ebx
lea edx, [eax + 2]
jmp 0x4a6d30
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4a6d30
sub eax, edx
sar eax, 1
mov dword [edi + 4], eax
lea edi, [eax + 1]
mov ecx, edi
call fcn.0046b260
cmp byte [esi + 0x114], 0
je 0x4a6d5a
add esi, 4
jmp 0x4a6d5c
mov esi, dword [esi]
lea ecx, [edi + edi]
push ecx
lea eax, [esi + 4]
push ebx
push eax
call fcn.004fff80
mov byte [esp + 0x1ac], 0
mov ecx, dword [esp + 0x150]
add esp, 0xc
mov edi, ebp
call fcn.004a7710
add esp, 0x128
test al, al
jne 0x4a6b0f
push 0x56a754
mov ecx, ebp
call fcn.00401000
lea ecx, [esp + 0x2c]
mov dword [esp + 0x78], 0xffffffff
call fcn.00401030
xor al, al
jmp 0x4a6b27