Function at 0x401a10
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x403a84
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x40603c]
xor eax, esp
mov dword [esp + 0x74], eax
push ebp
push esi
push edi
mov eax, dword [0x40603c]
xor eax, esp
push eax
lea eax, [esp + 0x88]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x98]
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [esp + 0x14]
mov dword [esp + 0x90], 0
call fcn.004011a0
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x401a78
lea eax, [esp + 0x18]
lea edx, [eax + 2]
jmp 0x401a80
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x401a80
sub eax, edx
sar eax, 1
je 0x401c2b
lea edi, [esp + 0x14]
lea esi, [esp + 0x4c]
call fcn.00401940
push 0x40432c
lea ecx, [esp + 0x34]
mov byte [esp + 0x94], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push ebp
lea ecx, [esp + 0x34]
mov byte [esp + 0x94], 2
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push 0x404328
lea ecx, [esp + 0x34]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.Launching_APD...
call esi
mov eax, dword [esp + 0x50]
mov edi, 8
cmp dword [esp + 0x64], edi
jae 0x401afb
lea eax, [esp + 0x50]
push eax
call esi
cmp dword [esp + 0x48], edi
mov eax, dword [esp + 0x34]
jae 0x401b0c
lea eax, [esp + 0x34]
push eax
call esi
push str.devType
lea ecx, [esp + 0x6c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x90], 3
cmp dword [ebp + 0x14], 2
jne 0x401b43
push 1
mov ecx, ebp
call dword [sym.imp.MSVCP80.dll_public:_wchar_t____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator___unsigned_int_]
cmp word [eax], 0x3a
jne 0x401b43
push str.volume
jmp 0x401b48
push str.camera
lea ecx, [esp + 0x6c]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
cmp dword [esp + 0x48], edi
mov esi, dword [esp + 0x34]
jae 0x401b60
lea esi, [esp + 0x34]
cmp dword [esp + 0x80], edi
mov edx, dword [esp + 0x6c]
jae 0x401b71
lea edx, [esp + 0x6c]
cmp dword [esp + 0x64], edi
mov ecx, dword [esp + 0x50]
jae 0x401b7f
lea ecx, [esp + 0x50]
cmp dword [esp + 0x2c], edi
mov eax, dword [esp + 0x18]
jae 0x401b8d
lea eax, [esp + 0x18]
push 0
push esi
push edx
push str.modedirect
push str.params
push str.modulephotodownloader
push ecx
push eax
push 1
call dword [sym.imp.MSVCR80.dll__wspawnlp]
add esp, 0x24
cmp eax, 0x12
mov byte [esp + 0x90], 2
lea ecx, [esp + 0x68]
jle 0x401c01
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x30]
mov byte [esp + 0x90], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x90], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x14]
mov dword [esp + 0x90], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, 1
jmp 0x401c42
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x30]
mov byte [esp + 0x90], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x90], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x14]
mov dword [esp + 0x90], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor al, al
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.00402f2c
add esp, 0x84
ret