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

Disassembly:
push 0xffffffffffffffff
push 0x413726
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ebp, dword [esi + 0x48]
dec ebp
mov dword [esp + 0x10], ebp
js 0x41027d
lea ebp, [ebp + ebp*2]
lea ebp, [ebp + ebp*4]
shl ebp, 3
mov ecx, dword [esp + 0xf8]
xor eax, eax
xor edi, edi
test ecx, ecx
jbe 0x410131
mov ecx, dword [esp + 0xf4]
lea ebx, [ecx + 8]
test eax, eax
jne 0x410269
mov eax, dword [esi + 0x44]
push ebx
add eax, ebp
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
mov ecx, dword [esp + 0x100]
add esp, 8
test eax, eax
sete al
and eax, 0xff
inc edi
add ebx, 0x19c
cmp edi, ecx
jb 0x4100f3
test eax, eax
jne 0x410269
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x64]
add edi, ebp
test eax, eax
je 0x41015e
lea edx, [esi + 0x68]
mov eax, dword [esi + 0x68]
mov dword [esp + 0x1c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x28], ecx
jmp 0x410169
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [edi + 0x2c]
push 0xffffffffffffffff
test eax, eax
je 0x4101ad
lea eax, [edi + 0xc]
lea ecx, [esp + 0x34]
push eax
call sub.MFC42.DLL_CTime::CTime_1
mov edx, dword [eax]
push ecx
mov ecx, esp
lea eax, [esp + 0x40]
mov dword [esp + 0x1c], esp
push eax
mov dword [ecx], edx
lea ecx, [esp + 0x24]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CTime::CTime_1
mov ecx, eax
call fcn.00411360
mov eax, dword [eax]
mov dword [edi + 0x30], eax
jmp 0x4101e6
lea edx, [edi + 0x1c]
lea ecx, [esp + 0x44]
push edx
call sub.MFC42.DLL_CTime::CTime_1
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
lea edx, [esp + 0x20]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
push ecx
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_CTime::CTime_1
mov ecx, eax
call fcn.00411360
mov eax, dword [eax]
mov dword [edi + 0x34], eax
mov dword [edi + 0x2c], 0
mov ecx, dword [esp + 0x1c]
lea eax, [edi + 0x38]
push edi
mov dword [eax], ecx
mov edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x2c]
mov ecx, esi
mov dword [eax + 0xc], edx
call fcn.00410080
mov edi, dword [esi + 0x48]
mov edx, dword [esp + 0x10]
mov ebx, dword [esi + 0x44]
sub edi, edx
dec edi
add ebx, ebp
mov dword [esp + 0x14], 0
mov ecx, ebx
call fcn.0040f3c0
mov eax, dword [esp + 0x14]
add ebx, 0x78
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x41022a
test edi, edi
je 0x410266
mov eax, dword [esi + 0x44]
lea ecx, [edi + edi*2]
lea edx, [ecx + ecx*4]
lea ecx, [eax + ebp + 0x78]
shl edx, 3
push edx
lea edx, [eax + ebp]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
dec dword [esi + 0x48]
mov eax, dword [esp + 0x10]
sub ebp, 0x78
dec eax
test eax, eax
mov dword [esp + 0x10], eax
jge 0x4100da
mov ecx, dword [esp + 0xf8]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x10], eax
jle 0x410566
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xf4]
lea ebp, [eax + 4]
mov dword [esp + 0x30], ebp
lea ecx, [ebp + 4]
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_3
lea edx, [esp + 0x18]
mov ecx, esi
push edx
mov dword [esp + 0xec], 0
call fcn.0040ffd0
lea ecx, [esp + 0x18]
mov edi, eax
mov dword [esp + 0xe8], 0xffffffff
call sub.MFC42.DLL_CString::CString
cmp edi, 0xffffffff
jne 0x41036f
lea eax, [ebp - 4]
lea ecx, [esp + 0x68]
push eax
call fcn.0040f240
mov eax, dword [esp + 0x94]
mov dword [esp + 0xe8], 1
test eax, eax
je 0x410321
lea ecx, [esp + 0x68]
call fcn.0040f490
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call fcn.00410040
jmp 0x41032d
lea edx, [esp + 0x68]
mov ecx, esi
push edx
call fcn.00410060
mov ebx, dword [esi + 0x48]
lea edi, [esi + 0x40]
push 0xffffffffffffffff
mov ecx, edi
lea eax, [ebx + 1]
push eax
call fcn.00410bc0
lea eax, [ebx + ebx*2]
lea ecx, [esp + 0x68]
push ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [eax + edx*8]
call fcn.004111b0
lea ecx, [esp + 0x68]
mov dword [esp + 0xe8], 0xffffffff
call fcn.0040f3c0
jmp 0x410419
mov edx, dword [esi + 0x44]
lea eax, [edi + edi*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebp]
push eax
lea edi, [edx + ecx*8]
call fcn.0040ff80
add esp, 4
test eax, eax
je 0x410419
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x410412
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
lea edx, [edi + 0xc]
push 0xffffffffffffffff
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea edx, [edi + 0x1c]
push edx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CTime::CTime_1
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x20]
mov dword [ecx], eax
lea ecx, [esp + 0x44]
push ecx
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CTime::CTime_1
mov ecx, eax
call fcn.00411360
mov eax, dword [eax]
mov ecx, edi
mov dword [edi + 0x34], eax
mov dword [edi + 0x2c], 1
call fcn.0040f490
push edi
mov ecx, esi
call fcn.00410040
jmp 0x410419
mov ecx, edi
call fcn.0040f5e0
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x410539
mov edi, dword [esi + 0x44]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x44]
add edi, ebx
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [edi + 0x2c]
push 0xffffffffffffffff
test eax, eax
je 0x410480
lea edx, [edi + 0xc]
lea ecx, [esp + 0x40]
push edx
call sub.MFC42.DLL_CTime::CTime_1
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x48]
mov dword [ecx], eax
lea ecx, [esp + 0x64]
push ecx
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CTime::CTime_1
mov ecx, eax
call fcn.00411360
mov eax, dword [eax]
mov dword [edi + 0x30], eax
jmp 0x4104b9
lea ecx, [edi + 0x1c]
push ecx
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CTime::CTime_1
mov edx, dword [eax]
push ecx
mov ecx, esp
lea eax, [esp + 0x60]
mov dword [esp + 0x30], esp
push eax
mov dword [ecx], edx
lea ecx, [esp + 0x4c]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CTime::CTime_1
mov ecx, eax
call fcn.00411360
mov edx, dword [eax]
mov dword [edi + 0x34], edx
mov dword [edi + 0x2c], 0
mov ecx, dword [esp + 0x44]
lea eax, [edi + 0x38]
push edi
mov dword [eax], ecx
mov edx, dword [esp + 0x4c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x54]
mov ecx, esi
mov dword [eax + 0xc], edx
call fcn.00410080
mov edi, dword [esi + 0x48]
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x44]
sub edi, edx
dec edi
add ebx, eax
xor ebp, ebp
mov ecx, ebx
call fcn.0040f3c0
add ebx, 0x78
mov eax, ebp
dec ebp
test eax, eax
jne 0x4104f7
test edi, edi
je 0x41052e
mov eax, dword [esi + 0x44]
lea edi, [edi + edi*2]
lea ecx, [edi + edi*4]
shl ecx, 3
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [ecx + eax + 0x78]
add ecx, eax
push edx
push ecx
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov eax, dword [esi + 0x48]
mov ebp, dword [esp + 0x30]
dec eax
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xf8]
inc eax
add ebp, 0x19c
add edx, 0x78
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x14], edx
jl 0x4102a4
mov edx, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
lea eax, [esi + 0x40]
push eax
mov eax, dword [edx + 0x20]
push 4
push ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0xe0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xdc
ret 0xc