Function at 0x40e7e0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43c08b
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x4c3740]
xor eax, esp
mov dword [esp + 0x3c], eax
push ebx
push ebp
mov eax, dword [0x4c3740]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
xor ebx, ebx
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ebx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push 0x4b3b44
lea ecx, [esp + 0x14]
mov byte [esp + 0x58], 2
call dword [sym.imp.MSVCP80.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 ebp
lea ecx, [esp + 0x14]
call dword [0x43e254]
push str.9t6ec3hwei
lea ecx, [esp + 0x14]
call dword [0x43e254]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x30]
call dword [0x43e210]
push str.REG
mov ecx, esi
call dword [sym.imp.MSVCP80.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__]
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
call dword [sym.imp.MSVCP80.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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0x4b3618
mov ecx, esi
call dword [0x43e254]
lea eax, [edi + 8]
push eax
mov ecx, esi
call dword [sym.imp.MSVCP80.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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0x4b3b64
mov ecx, esi
call dword [0x43e254]
xor ebp, ebp
lea ebx, [ebx]
mov eax, dword [edi + 0x28]
test eax, eax
je 0x40e931
mov ecx, dword [edi + 0x2c]
sub ecx, eax
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x40e931
mov eax, dword [edi + 0x28]
test eax, eax
je 0x40e906
mov ecx, dword [edi + 0x2c]
sub ecx, eax
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x40e90c
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [edi + 0x28]
lea edx, [ecx + ebx + 6]
push edx
mov ecx, esi
call dword [0x43e254]
push 0x4b3b68
mov ecx, esi
call dword [0x43e254]
add ebp, 1
add ebx, 0x4e
jmp 0x40e8c0
mov eax, dword [esi + 0x14]
add eax, 0xfffffffd
push eax
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::resize_unsigned_int_]
push 0x4b3618
mov ecx, esi
call dword [0x43e254]
mov eax, dword [esp + 0xc]
push eax
mov ecx, esi
call dword [0x43e254]
push 0x4b3618
mov ecx, esi
call dword [0x43e254]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call dword [sym.imp.MSVCP80.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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10]
mov byte [esp + 0x54], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x54], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, 1
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00437634
add esp, 0x4c
ret 0x24