Function at 0x427d00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45bed2
mov eax, dword fs:[0]
push eax
sub esp, 0x32c
mov eax, dword [0x471090]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x10], 0
mov ecx, 0x471278
call fcn.00452f40
cmp dword [ebp - 0x10], eax
jae 0x428538
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x471278
call fcn.00452f60
push eax
call fcn.00429160
add esp, 4
test eax, eax
jne 0x42851c
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, 0x471278
call fcn.00452f60
add eax, 0x78
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 0x27c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x10]
push edx
mov ecx, 0x471278
call fcn.00452f60
cmp dword [eax + 0x78], 5
jle 0x428511
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x471278
call fcn.00452f60
movsx ecx, byte [eax]
and ecx, 0xff
cmp ecx, 2
jne 0x427e6f
lea edx, [ebp - 0xe4]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc8], esp
push 4
push 0x464998
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int_]
mov dword [ebp - 0x280], eax
lea ecx, [ebp - 0xc4]
call fcn.00401fe0
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x278]
or ecx, 1
mov dword [ebp - 0x278], ecx
mov ecx, dword [ebp - 0x288]
call fcn.004023f0
mov dword [ebp - 0x28c], eax
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x290], edx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x278]
or eax, 2
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x290]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov dword [ebp - 0x294], eax
jmp 0x4280aa
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, 0x471278
call fcn.00452f60
movsx edx, byte [eax]
and edx, 0xff
cmp edx, 1
jne 0x427f31
lea eax, [ebp - 0x124]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x108], esp
push 4
push 0x4649a0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int_]
mov dword [ebp - 0x298], eax
lea ecx, [ebp - 0x104]
call fcn.00401fe0
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x278]
or edx, 4
mov dword [ebp - 0x278], edx
mov ecx, dword [ebp - 0x2a0]
call fcn.00402610
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x278]
or ecx, 8
mov dword [ebp - 0x278], ecx
mov ecx, dword [ebp - 0x2a8]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov dword [ebp - 0x2ac], eax
jmp 0x42809e
mov edx, dword [ebp - 0x10]
push edx
mov ecx, 0x471278
call fcn.00452f60
movsx eax, byte [eax]
and eax, 0xff
cmp eax, 3
jne 0x427ff2
lea ecx, [ebp - 0x164]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x148], esp
push 4
push 0x4649a8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int_]
mov dword [ebp - 0x2b0], eax
lea ecx, [ebp - 0x144]
call fcn.00401fe0
mov dword [ebp - 0x2b4], eax
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], edx
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x278]
or eax, 0x10
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x2b8]
call fcn.004022b0
mov dword [ebp - 0x2bc], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 4], 5
mov edx, dword [ebp - 0x278]
or edx, 0x20
mov dword [ebp - 0x278], edx
mov ecx, dword [ebp - 0x2c0]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov dword [ebp - 0x2c4], eax
jmp 0x428092
lea eax, [ebp - 0x1a4]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x188], esp
push 4
push 0x4649b0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int_]
mov dword [ebp - 0x2c8], eax
lea ecx, [ebp - 0x184]
call fcn.00401fe0
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x278]
or edx, 0x40
mov dword [ebp - 0x278], edx
mov ecx, dword [ebp - 0x2d0]
call fcn.004023f0
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x278]
or ecx, 0x80
mov dword [ebp - 0x278], ecx
mov ecx, dword [ebp - 0x2d8]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov dword [ebp - 0x2c4], eax
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x294], eax
push 0x464990
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 4], 8
mov edx, dword [ebp - 0x2e0]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x471278
call fcn.00452f60
add eax, 4
push eax
lea ecx, [ebp - 0x88]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 2
push 0x464994
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int_]
mov dword [ebp - 0x2e4], eax
lea ecx, [ebp - 0x68]
call fcn.00401fe0
mov dword [ebp - 0x2e8], eax
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ec], edx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2ec]
call fcn.004021e0
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x2f4]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x2fc], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x294]
push eax
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x304], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x304]
push edx
lea eax, [ebp - 0x1e4]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1c8], esp
push 0x18
push 0x4649b8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int_]
mov dword [ebp - 0x308], eax
lea ecx, [ebp - 0x1c4]
call fcn.00401fe0
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x310], ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x310]
call fcn.004021e0
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x318], edx
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x318]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x320], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x320]
push edx
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x328], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x328]
push edx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x330], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x330]
push edx
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x334]
mov dword [ebp - 0x338], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x338]
push edx
mov ecx, 0x4712ac
call fcn.00452ca0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x254]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x238]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x200]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1e4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1c4]
call fcn.00444890
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x68]
call fcn.00444890
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x278]
and eax, 0x80
je 0x4283af
and dword [ebp - 0x278], 0xffffff7f
lea ecx, [ebp - 0x1a4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x278]
and ecx, 0x40
je 0x4283d3
and dword [ebp - 0x278], 0xffffffbf
lea ecx, [ebp - 0x184]
call fcn.00444890
mov dword [ebp - 4], 4
mov edx, dword [ebp - 0x278]
and edx, 0x20
je 0x4283f8
and dword [ebp - 0x278], 0xffffffdf
lea ecx, [ebp - 0x164]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x278]
and eax, 0x10
je 0x42841c
and dword [ebp - 0x278], 0xffffffef
lea ecx, [ebp - 0x144]
call fcn.00444890
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x278]
and ecx, 8
je 0x428441
and dword [ebp - 0x278], 0xfffffff7
lea ecx, [ebp - 0x124]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x278]
and edx, 4
je 0x428465
and dword [ebp - 0x278], 0xfffffffb
lea ecx, [ebp - 0x104]
call fcn.00444890
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x278]
and eax, 2
je 0x42848a
and dword [ebp - 0x278], 0xfffffffd
lea ecx, [ebp - 0xe4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x278]
and ecx, 1
je 0x4284ae
and dword [ebp - 0x278], 0xfffffffe
lea ecx, [ebp - 0xc4]
call fcn.00444890
call fcn.00407d90
test eax, eax
je 0x4284bc
call fcn.00422ea0
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x264]
push ecx
mov ecx, 0x471278
call fcn.00454aa0
mov ecx, eax
call fcn.004531d0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
lea eax, [ebp - 0x274]
push eax
mov ecx, 0x471278
call fcn.00453010
jmp 0x42851a
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x428533
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
call fcn.00403de0
test eax, eax
je 0x428533
call fcn.00413c30
jmp 0x427d39
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret