Function at 0x401a55
Capabilities:
Create thread

Disassembly:
push 0x64
mov eax, 0x433d5f
call fcn.00425d32
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x10]
mov esi, edx
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esi
call dword [0x434304]
push dword [ebp - 0x6c]
lea ebx, [esi + 0x1c]
mov ecx, ebx
call dword [0x434304]
push dword [ebp - 0x70]
lea ecx, [esi + 0x38]
call dword [0x434304]
mov eax, dword [ebp + 0x20]
push edi
lea ecx, [esi + 0x158]
mov dword [esi + 0x1b0], eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push dword [ebp - 0x68]
lea ecx, [esi + 0x174]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x190], eax
lea eax, [esi + 0x1ac]
push eax
xor edi, edi
push edi
push esi
push 0x401de7
push edi
push edi
call dword [sym.imp.MSVCR90.dll__beginthreadex]
add esp, 0x18
cmp eax, 0xffffffff
je 0x401af0
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp + 0x1c], 0
je 0x401bf8
cmp byte [esi + 0x1d8], 0
jne 0x401bf8
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 4], edi
call fcn.0042db6d
pop ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
sub esp, 0x1c
lea eax, [ebp - 0x64]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
mov byte [ebp - 4], 2
lea edi, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
call fcn.00406133
mov eax, dword [ebp - 0x28]
add esp, 0x1c
cmp dword [ebp - 0x14], 8
jae 0x401b57
lea eax, [ebp - 0x28]
cmp dword [ebx + 0x18], 8
jb 0x401b62
mov ebx, dword [ebx + 4]
jmp 0x401b65
add ebx, 4
cmp dword [esi + 0x18], 8
jb 0x401b70
mov edi, dword [esi + 4]
jmp 0x401b73
lea edi, [esi + 4]
push eax
lea ecx, [ebp - 0x48]
call fcn.004060bb
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
pop ecx
jae 0x401b89
lea eax, [ebp - 0x44]
push eax
call fcn.0042df90
xor ebx, ebx
pop ecx
test al, al
je 0x401bd2
push ebx
push ebx
push ebx
push ebx
push 0x43e684
call fcn.0040231c
test eax, eax
jne 0x401bd2
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.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 0x401bfa
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.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
call fcn.00425db5
ret 0x1c