Function at 0x411680
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xd2c
mov eax, dword [0x426178]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xd24], esi
call fcn.004120d0
mov eax, dword [ebp + 0x14]
push eax
push ebx
push edi
push esi
call fcn.00420210
test eax, eax
je 0x411b12
xor eax, eax
movzx ecx, word [eax + str.HP1006C.DLL]
mov word [eax + 0x42c0b8], cx
add eax, 2
test cx, cx
jne 0x4116c2
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x42c0b8
call esi
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0xd2c], ebx
jne 0x411702
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x4077fc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x411710
movzx ecx, word [eax + 0x40301c]
mov word [eax + 0x42c0b8], cx
add eax, 2
test cx, cx
jne 0x411710
push 0x42c0b8
call esi
mov edi, eax
test edi, edi
jne 0x411744
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x407814
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x403000
call esi
mov esi, eax
test esi, esi
mov dword [ebp - 0xd28], esi
jne 0x411768
push 0x40782c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call fcn.0041f4e0
push 0x407844
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
test ebx, ebx
mov dword [0x42c0a0], eax
je 0x411af4
test edi, edi
je 0x411af4
push 0x108
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
mov dword [0x42c0a4], esi
je 0x411ae0
push 0x108
push 0
push esi
call fcn.0041ae20
mov ecx, dword [ebp - 0xd24]
mov dword [esi], 0x69
mov dword [esi + 4], 0x108
mov dword [esi + 0x3c], 0
mov dword [esi + 0x54], 0x42b8c0
mov dword [esi + 0x10], ebx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x28], edi
mov dword [esi + 0x98], fcn.00422a90
mov dword [esi + 0xa8], 0x407bc0
mov dword [esi + 0xac], 0x411b70
mov edx, dword [0x42b8c8]
mov dword [esi + 0x50], edx
mov eax, dword [0x42b8cc]
add esp, 0xc
mov dword [esi + 0x48], eax
mov ecx, dword [0x42b8d0]
push 0x407860
push ebx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x84], fcn.00412230
mov dword [esi + 0x88], fcn.0040abb0
mov dword [esi + 0x8c], 0x412430
mov dword [esi + 0x90], 0x412470
mov dword [esi + 0x94], 0x40a3b0
mov dword [esi + 0xc8], fcn.004126e0
mov dword [esi + 0xcc], fcn.00413090
mov dword [esi + 0x74], 0x409fa0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x411ad3
call eax
test eax, eax
mov esi, dword [0x42c0a4]
mov dword [esi + 0x64], eax
mov dword [esi + 0x80], 0x403508
je 0x411ad9
push 0x906
lea edx, [ebp - 0xd1c]
push 0
push edx
call fcn.0041ae20
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
push 0
mov dword [ebp - 0xd20], 0x115
mov dword [ebp - 0xd1c], 0x90a
mov dword [ebp - 0xa8c], esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov dword [ebp - 0xd14], eax
je 0x411ad3
mov ecx, dword [0x42b8d0]
push ecx
push 0
push eax
call fcn.0041ae20
add esp, 0xc
push 0x429bd8
lea edx, [ebp - 0xd04]
push edx
mov dword [ebp - 0xd10], 0
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x42c0a4]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0xd0c], ecx
mov edx, dword [eax + 0x48]
mov dword [ebp - 0xd08], edx
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0xa68], ecx
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0xd24]
mov ecx, dword [0x42b8fc]
mov dword [ebp - 0xa6c], edx
mov edx, dword [0x42b900]
mov dword [ebp - 0xacc], eax
mov dword [ebp - 0xaac], eax
mov eax, dword [ebp - 0xd28]
mov dword [ebp - 0xabc], eax
mov eax, dword [0x42b904]
mov dword [ebp - 0xa88], ecx
mov ecx, dword [0x42b908]
mov dword [ebp - 0xa84], edx
mov edx, dword [0x42b910]
mov esi, 1
push edi
mov dword [ebp - 0xaa8], edi
mov dword [ebp - 0xac0], edi
mov dword [ebp - 0xadc], esi
mov dword [ebp - 0xa80], eax
mov dword [ebp - 0xa7c], ecx
mov dword [ebp - 0xa78], edx
call fcn.00411bd0
mov dword [ebp - 0x41a], eax
push 0x208
lea eax, [ebp - 0xd04]
push eax
lea ecx, [ebp - 0xa36]
push ecx
mov dword [ebp - 0x41e], esi
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [ebp - 0xac0]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea edx, [ebp - 0x20c]
push edx
push 0x2bf
push eax
call esi
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [ebp - 0xd04]
push ecx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x82e]
push eax
call ebx
mov edx, dword [ebp - 0xac0]
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x414]
push ecx
push 0x2c1
push edx
call esi
lea eax, [ebp - 0xd04]
push eax
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x626]
push edx
call ebx
add esp, 0xc
mov eax, dword [ebp - 0xd14]
mov ecx, dword [0x42c0a4]
push 0
push eax
push ecx
mov dword [ebp - 0xaa4], 0x411b30
call fcn.00412230
mov ecx, dword [0x42c0a4]
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x411aaa
mov ebx, eax
lea esi, [ecx + 0x118]
nop
mov eax, dword [esi]
mov eax, dword [eax + 0x38]
sub ebx, 1
test eax, eax
je 0x411aa3
mov edx, dword [ebp - 0xd14]
push edx
lea edx, [ebp - 0xd20]
push edx
push ecx
call eax
mov ecx, dword [0x42c0a4]
add esi, 0x28
test ebx, ebx
jne 0x411a80
mov eax, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x80]
lea edx, [ebp - 0xd20]
push edx
mov edx, dword [eax + 0x28]
push ecx
call edx
mov eax, dword [ebp - 0xd14]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [ebp - 0xd2c]
mov esi, dword [0x42c0a4]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call edi
push ebx
call edi
mov esi, dword [ebp - 0xd28]
jmp 0x411afa
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x411b01
push esi
call edi
mov ecx, dword [ebp - 0xd24]
push ecx
call fcn.0041f4a0
call fcn.00412140
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004143f7
mov esp, ebp
pop ebp
ret 0x10