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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x48d368
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor ebp, ebp
lea eax, [ebx + 0x31ac]
push 0
push eax
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CSingleLock::CSingleLock
push 0xffffffffffffffff
lea ecx, [esp + 0x2c]
mov dword [esp + 0x7c], 0
call sub.MFC42.DLL_CSingleLock::Lock
mov eax, dword [esp + 0x80]
push ebp
push eax
lea ecx, [ebx + 0x3184]
call fcn.004079f0
test eax, eax
je 0x4621a7
cmp word [eax + 0x12], 0
jl 0x4621a7
lea edi, [eax + 1]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x41]
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]
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CSingleLock::Unlock
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
lea ecx, [ebx + 0x31dc]
call fcn.00488210
test eax, eax
je 0x4621b0
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x20]
push ecx
push edx
mov ecx, ebx
call fcn.00471950
cmp eax, 1
jne 0x4621b0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x43a4], 2
je 0x4621b0
mov ecx, dword [eax + 0x4170]
add eax, 0x37d8
test ch, 2
mov dword [esp + 0x18], eax
jne 0x46231f
jmp 0x4621b0
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CSingleLock::Unlock
lea ecx, [esp + 0x28]
mov dword [esp + 0x78], 0xffffffff
call sub.MFC42.DLL_CSingleLock::Unlock
inc ebp
cmp ebp, 5
jl 0x4620d0
mov ebp, dword [esp + 0x84]
xor esi, esi
mov dword [esp + 0x14], esi
lea eax, [ebx + 0x31ac]
push 0
push eax
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CSingleLock::CSingleLock
push 0xffffffffffffffff
lea ecx, [esp + 0x38]
mov dword [esp + 0x7c], 1
call sub.MFC42.DLL_CSingleLock::Lock
mov eax, dword [esp + 0x80]
push esi
push eax
lea ecx, [ebx + 0x3184]
call fcn.004079f0
test eax, eax
je 0x462332
cmp word [eax + 0x12], 0
jl 0x462332
lea edi, [eax + 1]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x41]
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]
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CSingleLock::Unlock
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
lea ecx, [ebx + 0x31dc]
call fcn.00488210
test eax, eax
je 0x46233b
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x20]
push ecx
push edx
mov ecx, ebx
call fcn.00471950
cmp eax, 1
jne 0x46233b
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x43a4], 2
je 0x46233b
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x998]
test dh, 2
jne 0x46233b
mov edx, dword [eax + 0x21b4]
lea ecx, [esp + 0x84]
mov eax, dword [edx + ebp*4]
push eax
push ebp
push ecx
lea ecx, [ebx + 0x32b8]
call fcn.00405da0
push ecx
lea edx, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x80], 2
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x14]
push ebp
call fcn.004260b0
mov ecx, dword [esp + 0x10]
push eax
push ebp
call fcn.00425000
mov ecx, dword [esp + 0x10]
call fcn.0043ffc0
lea ecx, [esp + 0x84]
mov byte [esp + 0x78], 1
call fcn.00489b20
jmp 0x46233b
lea ecx, [esp + 0x28]
mov dword [esp + 0x78], 0xffffffff
call sub.MFC42.DLL_CSingleLock::Unlock
jmp 0x46235e
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CSingleLock::Unlock
lea ecx, [esp + 0x34]
mov dword [esp + 0x78], 0xffffffff
call sub.MFC42.DLL_CSingleLock::Unlock
mov esi, dword [esp + 0x14]
inc esi
cmp esi, 5
mov dword [esp + 0x14], esi
jl 0x4621d8
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret 0xc