Function at 0x405300
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x45b711
mov eax, dword fs:[0]
push eax
sub esp, 0xd70
mov eax, dword [0x4751f0]
xor eax, esp
mov dword [esp + 0xd6c], eax
push ebx
push esi
push edi
mov eax, dword [0x4751f0]
xor eax, esp
push eax
lea eax, [esp + 0xd80]
mov dword fs:[0], eax
push 0x208
xor ebx, ebx
lea eax, [esp + 0x170]
push ebx
push eax
call fcn.004449b0
mov eax, dword [0x4744c8]
add esp, 0xc
cmp dword [0x4744dc], 8
jae 0x405365
mov eax, 0x4744c8
push 0x45f89c
push eax
lea ecx, [esp + 0x174]
push 0x45f83c
push ecx
call fcn.00401040
lea edx, [esp + 0x17c]
push edx
call fcn.00417f70
add esp, 0x14
test eax, eax
jne 0x4053b6
push ebx
push 0x80
push 1
push ebx
push 1
push 0x40000000
lea eax, [esp + 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x104
lea ecx, [esp + 0x6c]
push ebx
push ecx
call fcn.004449b0
add esp, 0xc
push 0x104
lea edx, [esp + 0x6c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea eax, [esp + 0x47c]
push ebx
push eax
call fcn.004449b0
lea ecx, [esp + 0x484]
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00401170
lea eax, [esp + 0x7c]
add esp, 0x14
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x405420
sub eax, ecx
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x38]
call fcn.00403320
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0xd94], ebx
mov byte [esp + 0x1c], 0x5c
call fcn.00401910
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov esi, 0x10
cmp eax, 0xffffffff
je 0x4055a8
push 0xffffffffffffffff
inc eax
push eax
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x3c]
call fcn.00403d70
push 0x104
lea eax, [esp + 0x378]
push ebx
push eax
mov byte [esp + 0xd94], 1
call fcn.004449b0
mov ecx, dword [esp + 0x5c]
add esp, 0xc
cmp dword [esp + 0x64], esi
jae 0x4054a8
lea ecx, [esp + 0x50]
lea edx, [esp + 0x374]
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x4054b0
lea ecx, [esp + 0x478]
push ecx
lea edx, [esp + 0x378]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00404bf0
add esp, 0xc
mov eax, dword [esp + 0x18]
mov byte [esp + 0xd88], 2
cmp dword [esp + 0x2c], esi
jae 0x4054ed
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x800
lea ecx, [esp + 0x580]
push ebx
push ecx
call fcn.004449b0
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp dword [esp + 0x2c], esi
jae 0x405518
lea eax, [esp + 0x18]
push 0x800
lea edx, [esp + 0x580]
push edx
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x580]
push ecx
push str.serialguid
push str.gereral
call edi
lea edx, [esp + 0x57c]
push edx
push str..common.cpp
push 0x3d8
push 0x46008c
call fcn.0040c370
add esp, 0x10
cmp dword [esp + 0x2c], esi
jb 0x40557e
mov eax, dword [esp + 0x18]
push eax
call fcn.0044475c
add esp, 4
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd88], bl
cmp dword [esp + 0x64], esi
jb 0x4055a8
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0044475c
add esp, 4
lea edx, [esp + 0x16c]
push edx
push 0x460088
push str.first_use
push str.gereral
call edi
cmp dword [0x4742f4], ebx
je 0x4055d8
lea eax, [esp + 0x16c]
push eax
push 0x45f898
jmp 0x4055e5
lea ecx, [esp + 0x16c]
push ecx
push 0x45f894
push str.join_feeling_plan
push str.gereral
call edi
mov edx, dword [0x4742f4]
push edx
push str..common.cpp
push 0x3e1
push str.Line_no_d_source_s_g_bJoin_d_r_n
call fcn.0040c370
add esp, 0x10
cmp dword [esp + 0x48], esi
jb 0x405622
mov eax, dword [esp + 0x34]
push eax
call fcn.0044475c
add esp, 4
mov ecx, dword [esp + 0xd80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd6c]
xor ecx, esp
call fcn.00444b03
add esp, 0xd7c
ret