Function at 0x4ddae0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x584987
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x62d414]
xor eax, esp
mov dword [esp + 0xbc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x62d414]
xor eax, esp
push eax
lea eax, [esp + 0xd4]
mov dword fs:[0], eax
xor eax, eax
mov dword [esp + 0xdc], eax
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], eax
mov edi, 1
mov dword [esp + 0xdc], edi
push 0x3b
push 0x22
lea eax, [esp + 0xf0]
push eax
push esi
call fcn.004dd2d0
add esp, 0x10
lea ecx, [esp + 0x7c]
mov dword [esp + 0x34], edi
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 byte [esp + 0xdc], 2
lea ecx, [esp + 0xb4]
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 byte [esp + 0xdc], 3
lea ecx, [esp + 0x98]
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 byte [esp + 0xdc], 4
lea ecx, [esp + 0x60]
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 byte [esp + 0xdc], 5
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov ebp, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, edi
ja 0x4ddbcf
call ebp
mov eax, dword [esi + 0xc]
add eax, 0x1c
mov edi, 8
cmp dword [eax + 0x18], edi
jb 0x4ddbe4
mov eax, dword [eax + 4]
jmp 0x4ddbe7
add eax, 4
push eax
lea ecx, [esp + 0xb8]
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_const__]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x4ddc15
call ebp
mov eax, dword [esi + 0xc]
add eax, 0x38
cmp dword [eax + 0x18], edi
jb 0x4ddc25
mov eax, dword [eax + 4]
jmp 0x4ddc28
add eax, 4
push eax
lea ecx, [esp + 0x9c]
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_const__]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 3
ja 0x4ddc56
call ebp
mov eax, dword [esi + 0xc]
add eax, 0x54
cmp dword [eax + 0x18], edi
jb 0x4ddc66
mov eax, dword [eax + 4]
jmp 0x4ddc69
add eax, 4
push eax
lea ecx, [esp + 0x64]
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_const__]
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x78], edi
jae 0x4ddc82
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.MSVCR90.dll__wtoi]
add esp, 4
test eax, eax
jle 0x4ddf0f
mov ebx, dword [esi + 0x10]
cmp dword [esi + 0xc], ebx
jbe 0x4ddc9e
call ebp
mov edi, dword [esi + 0xc]
mov ebp, dword [esi]
cmp edi, dword [esi + 0x10]
jbe 0x4ddcae
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esi]
push ebx
push ebp
push edi
push eax
lea edx, [esp + 0x48]
push edx
mov ecx, esi
call fcn.00477dc0
push 0x5d1aa8
lea ecx, [esp + 0x18]
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_wchar_t_const__]
mov byte [esp + 0xdc], 6
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.004228e0
mov byte [esp + 0xdc], 5
lea ecx, [esp + 0x14]
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, [esp + 0xb4]
push ecx
mov ecx, esi
call fcn.004228e0
mov eax, dword [esp + 0x64]
mov ebp, 8
cmp dword [esp + 0x78], ebp
jae 0x4ddd17
lea eax, [esp + 0x64]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
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_wchar_t_const__]
mov byte [esp + 0xf8], 7
lea edx, [esp + 0x30]
push edx
mov byte [esp + 0xfc], 5
mov edi, dword [esp + 0x50]
mov ecx, edi
call fcn.004dbc50
mov byte [esp + 0xdc], 8
push eax
lea ecx, [esp + 0x80]
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_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov byte [esp + 0xdc], 5
lea ecx, [esp + 0x14]
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_]
push 0x5ab590
lea ecx, [esp + 0x9c]
call dword [sym.imp.MSVCP90.dll_public:_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::compare_wchar_t_const__const]
test eax, eax
jne 0x4ddded
push 0x5ab6d8
lea ecx, [esp + 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_wchar_t_const__]
mov bl, 9
mov byte [esp + 0xdc], bl
push eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 0xc
mov byte [esp + 0xdc], 0xa
push eax
lea ecx, [esp + 0x80]
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_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x14]
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 byte [esp + 0xdc], 5
lea ecx, [esp + 0x44]
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 edx, [esp + 0x7c]
push edx
mov ecx, esi
call fcn.004228e0
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0xb0], ebp
jae 0x4dde10
lea eax, [esp + 0x9c]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
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_wchar_t_const__]
mov byte [esp + 0xf8], 0xb
lea eax, [esp + 0x60]
push eax
mov byte [esp + 0xfc], 5
mov ecx, edi
call fcn.004dbfd0
mov byte [esp + 0xdc], 0xc
push eax
lea ecx, [esp + 0x80]
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_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov byte [esp + 0xdc], 5
lea ecx, [esp + 0x44]
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, [esp + 0x7c]
push ecx
mov ecx, esi
call fcn.004228e0
push 0x5997a0
lea ecx, [esp + 0x18]
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_wchar_t_const__]
mov byte [esp + 0xdc], 0xd
lea edx, [esp + 0x14]
push edx
mov ecx, esi
call fcn.004228e0
mov byte [esp + 0xdc], 5
lea ecx, [esp + 0x14]
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_]
push 0x599824
lea ecx, [esp + 0x18]
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_wchar_t_const__]
mov byte [esp + 0xdc], 0xe
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.004228e0
mov byte [esp + 0xdc], 5
lea ecx, [esp + 0x14]
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_]
push str.1000
lea ecx, [esp + 0x18]
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_wchar_t_const__]
mov byte [esp + 0xdc], 0xf
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004228e0
mov byte [esp + 0xdc], 5
lea ecx, [esp + 0x14]
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 byte [esp + 0xdc], 4
lea ecx, [esp + 0x60]
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 byte [esp + 0xdc], 3
lea ecx, [esp + 0x98]
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 byte [esp + 0xdc], 2
lea ecx, [esp + 0xb4]
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 byte [esp + 0xdc], 1
lea ecx, [esp + 0x7c]
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 byte [esp + 0xdc], 0
lea ecx, [esp + 0xe8]
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 eax, esi
mov ecx, dword [esp + 0xd4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xbc]
xor ecx, esp
call fcn.0051ed00
add esp, 0xcc
ret 0x20