Function at 0x40d250
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x41ec88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x44]
call fcn.00419190
xor ebx, ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x74], ebx
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 1
call sub.MFC42.DLL_CString::CString_3
mov dword [esp + 0x28], 0x421618
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0xa
push 0x427654
push str.gb2312
push str.RealWatchUnit
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 3
call fcn.0041c3a0
lea ecx, [esp + 0x44]
call fcn.0041c3d0
mov ebp, eax
push str.ModuleID
lea ecx, [esp + 0x24]
mov dword [esp + 0x20], ebp
call fcn.0041d0fe
mov eax, dword [esi + 4]
lea ecx, [esp + 0x24]
push eax
push 0x427ed4
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 4
lea edx, [esp + 0x28]
mov edi, esp
mov dword [esp + 0x20], esp
push edx
mov ecx, edi
mov dword [esp + 0x24], edi
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x2c]
lea ecx, [edi + 4]
push eax
mov byte [esp + 0x80], 4
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], 3
call fcn.0040c300
push str.MagicCode
lea ecx, [esp + 0x24]
call fcn.0041d0fe
push 0xcd280
lea ecx, [esp + 0x28]
push 0x427ed4
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 4
lea edx, [esp + 0x28]
mov edi, esp
mov dword [esp + 0x20], esp
push edx
mov ecx, edi
mov dword [esp + 0x24], edi
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x2c]
mov byte [esp + 0x7c], 5
push eax
lea ecx, [edi + 4]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], 3
call fcn.0040c300
lea ecx, [esp + 0x28]
push ecx
push ebp
lea ecx, [esp + 0x4c]
call fcn.0041c430
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x40d5d4
jmp 0x40d3bf
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x40d41a
mov eax, dword [esp + 0x10]
xor ebp, ebp
lea esi, [eax + 8]
mov dword [esp + 0x18], esi
lea ecx, [esi + 4]
mov byte [esp + 0x74], 6
call fcn.0041d0e6
mov ecx, esi
mov byte [esp + 0x74], 3
call fcn.0041d0e6
add esi, 8
mov ecx, ebp
dec ebp
mov dword [esp + 0x18], esi
test ecx, ecx
jne 0x40d3e1
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x40d3d4
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
call sub.MFC42.DLL_CPlex::FreeDataChain
push str.KeyID
lea ecx, [esp + 0x24]
mov dword [esp + 0x40], ebx
call fcn.0041d0fe
mov eax, dword [edi]
lea ecx, [esp + 0x24]
push eax
push 0x427ed4
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 4
lea edx, [esp + 0x28]
mov esi, esp
mov dword [esp + 0x20], esp
push edx
mov ecx, esi
mov dword [esp + 0x24], esi
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x2c]
lea ecx, [esi + 4]
push eax
mov byte [esp + 0x80], 7
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], 3
call fcn.0040c300
push str.KeyValue
lea ecx, [esp + 0x24]
call fcn.0041d0fe
mov ecx, dword [edi + 4]
lea edx, [esp + 0x24]
push ecx
push 0x427ed4
push edx
call sub.MFC42.DLL_CString::Format
add esp, 4
lea eax, [esp + 0x28]
mov esi, esp
mov dword [esp + 0x20], esp
push eax
mov ecx, esi
mov dword [esp + 0x24], esi
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x7c], 8
push ecx
lea ecx, [esi + 4]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], 3
call fcn.0040c300
push str.KeyPro
lea ecx, [esp + 0x24]
call fcn.0041d0fe
xor edx, edx
lea eax, [esp + 0x24]
mov dx, word [edi + 8]
push edx
push 0x427ed4
push eax
call sub.MFC42.DLL_CString::Format
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], esp
mov esi, esp
push ecx
mov ecx, esi
mov dword [esp + 0x24], esi
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x2c]
mov byte [esp + 0x7c], 9
push edx
lea ecx, [esi + 4]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], 3
call fcn.0040c300
push str.KeyValueType
lea ecx, [esp + 0x24]
call fcn.0041d0fe
xor eax, eax
lea ecx, [esp + 0x24]
mov ax, word [edi + 0xa]
push eax
push 0x427ed4
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 4
lea edx, [esp + 0x28]
mov esi, esp
mov dword [esp + 0x20], esp
push edx
mov ecx, esi
mov dword [esp + 0x24], esi
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x2c]
lea ecx, [esi + 4]
push eax
mov byte [esp + 0x80], 0xa
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], 3
call fcn.0040c300
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RealWatchRecord
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x50]
call fcn.0041aef0
cmp dword [esp + 0x14], ebx
jne 0x40d3bb
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x44]
push edx
call fcn.00419610
mov ebp, eax
mov dword [esp + 0x28], 0x421618
neg ebp
sbb ebp, ebp
inc ebp
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x74], 0xb
cmp eax, ebx
mov dword [esp + 0x7c], eax
je 0x40d62b
mov eax, dword [esp + 0x7c]
xor edi, edi
lea esi, [eax + 8]
push ebx
mov ecx, esi
call fcn.0040d6a0
add esi, 8
mov ecx, edi
dec edi
test ecx, ecx
jne 0x40d60b
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
cmp eax, ebx
mov dword [esp + 0x7c], eax
jne 0x40d602
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
call sub.MFC42.DLL_CPlex::FreeDataChain
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x28], 0x4214b8
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 0xc
call fcn.0041d0e6
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], bl
call fcn.0041d0e6
lea ecx, [esp + 0x44]
mov dword [esp + 0x74], 0xffffffff
call fcn.004192c0
mov ecx, dword [esp + 0x6c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x68
ret 4