Function at 0x462980
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x526f5a
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x5b339c]
xor eax, esp
mov dword [esp + 0x24], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b339c]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
xor edi, edi
mov dword [esp + 0x44], edi
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x1c], edi
mov eax, 0xa
mov edx, 0xd
mov word [esp + 0x30], ax
mov word [esp + 0x32], dx
mov eax, 0x20
xor edx, edx
mov word [esp + 0x34], ax
mov ax, word [esp + 0x54]
mov word [esp + 0x36], dx
mov dx, word [esp + 0x58]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
mov word [esp + 0x2c], ax
mov word [esp + 0x2e], dx
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_]
mov dword [esp + 0x44], edi
mov edi, dword [esi + 0xc]
mov dword [esp + 0x1c], 1
cmp edi, dword [esi + 0x10]
jbe 0x462a25
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebp, dword [esi]
mov ebx, dword [esi + 0x10]
cmp dword [esi + 0xc], ebx
jbe 0x462a35
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esi]
test eax, eax
je 0x462a3f
cmp eax, ebp
je 0x462a45
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x462c5c
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebp, ebp
jne 0x462b89
call ebx
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462a66
call ebx
push 0
lea eax, [esp + 0x30]
push eax
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_first_of_wchar_t_const___unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
cmp dword [ecx], eax
je 0x462bae
xor ebx, ebx
test ebp, ebp
jne 0x462b91
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462aa0
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x54]
push 0
push edx
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t__unsigned_int_const]
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x54]
push eax
call dword [sym.imp.MSVCP90.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_]
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
cmp dword [ecx], esi
je 0x462b43
lea ebx, [ebx]
test ebp, ebp
jne 0x462b99
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462aeb
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, esi
sub edx, ebx
push edx
push ebx
mov ebx, dword [esp + 0x1c]
push edi
mov ecx, ebx
call dword [sym.imp.MSVCP90.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__::append_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x54]
push eax
mov ecx, ebx
call dword [sym.imp.MSVCP90.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_]
mov ebx, esi
test ebp, ebp
jne 0x462ba1
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462b28
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [esp + 0x54]
inc esi
push esi
push ecx
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t__unsigned_int_const]
mov edx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
mov esi, eax
cmp dword [edx], esi
jne 0x462ad0
test ebp, ebp
jne 0x462ba9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462b5a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
mov ecx, dword [eax]
mov esi, dword [esp + 0x14]
push ecx
push ebx
push edi
mov ecx, esi
call dword [sym.imp.MSVCP90.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__::append_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___unsigned_int__unsigned_int_]
mov edx, dword [esp + 0x54]
push edx
mov ecx, esi
call dword [sym.imp.MSVCP90.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_]
mov esi, dword [esp + 0x18]
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
jmp 0x462bc8
mov eax, dword [ebp]
jmp 0x462a5f
mov eax, dword [ebp]
jmp 0x462a95
mov eax, dword [ebp]
jmp 0x462ae0
mov eax, dword [ebp]
jmp 0x462b1d
mov eax, dword [ebp]
jmp 0x462b4f
test ebp, ebp
jne 0x462bf9
call ebx
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462bbd
call ebx
mov ecx, dword [esp + 0x14]
push edi
call dword [0x539434]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x20], eax
cmp dword [esi + 0xc], eax
jbe 0x462bd6
call ebx
mov esi, dword [esi]
mov dword [esp + 0x28], edi
test ebp, ebp
jne 0x462bfe
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
lea ebx, [edi + 0x1c]
cmp ebx, dword [eax + 0x10]
ja 0x462c0a
test ebp, ebp
je 0x462c03
mov eax, dword [ebp]
jmp 0x462c05
mov eax, dword [ebp]
jmp 0x462bb6
mov eax, dword [ebp]
jmp 0x462be8
xor eax, eax
cmp ebx, dword [eax + 0xc]
jae 0x462c10
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebp, ebp
je 0x462c18
cmp ebp, esi
je 0x462c22
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
call esi
jmp 0x462c28
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esp + 0x20]
je 0x462c3d
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x14]
push eax
call dword [sym.imp.MSVCP90.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_]
test ebp, ebp
jne 0x462c57
call esi
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x462c4c
call esi
mov esi, dword [esp + 0x18]
mov edi, ebx
jmp 0x462a27
mov eax, dword [ebp]
jmp 0x462c45
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.0051973e
add esp, 0x34
ret