Function at 0x4101c0
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x419608
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x4219cc]
xor eax, esp
mov dword [esp + 0x9c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4219cc]
xor eax, esp
push eax
lea eax, [esp + 0xb4]
mov dword fs:[0], eax
push ecx
mov edi, ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x421d2c
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x284]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x421d1c
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x2f0]
call fcn.004035a0
mov ecx, dword [0x41ca7c]
mov eax, dword [str.queryhomeinfo:]
mov edx, dword [0x41ca80]
mov dword [esp + 0x50], ecx
mov cl, byte [0x41ca86]
mov dword [esp + 0x4c], eax
mov ax, word [0x41ca84]
mov byte [esp + 0x5a], cl
push 0x421d28
lea ecx, [esp + 0x1c]
mov dword [esp + 0x58], edx
mov word [esp + 0x5c], ax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
mov dword [esp + 0xbc], 0
mov esi, 0x32
jmp 0x410290
push 0x41bed8
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_911]
sub esi, 1
jne 0x410290
push 0x32
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC80.DLL_Ordinal_3997]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc0], 1
call dword [sym.imp.MFC80.DLL_Ordinal_781]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xbc], 0
call dword [sym.imp.MFC80.DLL_Ordinal_578]
xor esi, esi
lea esp, [esp]
push esi
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_865]
xor al, 0x31
mov byte [esp + esi + 0x5a], al
add esi, 1
cmp esi, 0x32
jl 0x4102e0
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x90], 0
call fcn.00407b80
push 0
lea ecx, [esp + 0x38]
mov byte [esp + 0xc0], 2
call fcn.00407ac0
lea ecx, [esp + 0x40]
call fcn.00407c00
mov edx, dword [0x421cac]
lea eax, [esp + 0x28]
push eax
push 0x40
lea ecx, [esp + 0x54]
push ecx
push edx
mov byte [esp + 0xcc], 3
call fcn.004161e0
add esp, 0x10
test al, al
je 0x410744
push 0
lea ecx, [esp + 0x44]
call fcn.00407fd0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c9e0
mov esi, eax
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x35c]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.MONTHCOUNT
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x3c8]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.DAYCOUNT
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x434]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.WARNCOUNT
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x4a0]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ERRCOUNT
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x578]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.OFF24COUNT
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x650]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c9e0
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_876]
mov ebx, dword [sym.imp.MSVCR80.dll_atoi]
push eax
call ebx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.WARNCOUNT
mov ebp, eax
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call ebx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ERRCOUNT
mov dword [esp + 0x2c], eax
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call ebx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.OFF24COUNT
mov dword [esp + 0x28], eax
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call ebx
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, eax
add eax, eax
add eax, eax
cdq
idiv ebp
add esp, 4
lea ecx, [edi + 0x50c]
push eax
call fcn.00403540
mov ecx, dword [esp + 0x20]
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, eax
add eax, eax
add eax, eax
cdq
idiv ebp
lea ecx, [edi + 0x5e4]
push eax
call fcn.00403540
mov eax, ebx
shl eax, 4
sub eax, ebx
add eax, eax
add eax, eax
add eax, eax
cdq
idiv ebp
lea ecx, [edi + 0x6bc]
push eax
call fcn.00403540
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_310]
mov eax, ebp
sub eax, ebx
imul eax, eax, 0x64
cdq
idiv ebp
mov byte [esp + 0xbc], 4
push eax
lea eax, [esp + 0x20]
push str._d__
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_2322]
add esp, 8
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x728]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.MSGID
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push 0x41bd85
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_1482]
test eax, eax
jne 0x41062a
push 0x41ca48
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.MSGINFO
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_784]
push 0
jmp 0x41062c
push 1
lea ecx, [edi + 0x954]
call fcn.00403510
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.MSGTITLE
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call dword [sym.imp.MFC80.DLL_Ordinal_297]
lea ecx, [edi + 0x810]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.MSGINFO
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
push 0x41c6ac
push ecx
call fcn.00407a20
add esp, 0xc
lea ecx, [edi + 0x87c]
call fcn.004035a0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c704
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
push ecx
mov dword [esp + 0x18], esp
mov ebx, esp
push eax
push 0x41c6b4
push 0xa
push 0
lea edx, [esp + 0x38]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.MSGDATE
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov ecx, esi
call fcn.00416080
mov ecx, eax
call dword [sym.imp.MFC80.DLL_Ordinal_4109]
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0xd0], 5
call fcn.00403bb0
add esp, 0xc
push eax
push ebx
mov byte [esp + 0xcc], 6
call fcn.004062e0
add esp, 0xc
lea ecx, [edi + 0x8e8]
call fcn.004035a0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x40]
mov byte [esp + 0xbc], 8
call fcn.0040aef0
lea ecx, [esp + 0x34]
mov byte [esp + 0xbc], 7
call fcn.00408d70
lea ecx, [esp + 0x28]
mov byte [esp + 0xbc], 0
call fcn.00407bd0
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
mov ecx, dword [esp + 0xb4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x9c]
xor ecx, esp
call fcn.00417312
add esp, 0xac
ret