Function at 0x402016
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x406745
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x40a01c]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x40a01c]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, dword [esp + 0x88]
xor ebx, ebx
mov dword [esp + 0x80], ebx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
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 eax, dword [esp + 0x8c]
dec eax
mov esi, 1
mov dword [esp + 0x80], esi
cmp eax, 0x2b
ja case.default.0x401fa1
jmp dword [eax*4 + 0x402230]
push 0x407218
jmp 0x402125
push str.GsddMhcs_sx
jmp 0x402125
push str.Sd_eQsnbdrrLdlnsx
jmp 0x402125
push str.SdrtldUisd_e
jmp 0x402125
push str.FduUisd_eBnoudyu
jmp 0x402125
push str.RduUisd_eBnoudyu
jmp 0x402125
push str.VshudQsnbdrrLdlnsx
jmp 0x402125
push str.Bsd_udQsnbdrr_
jmp 0x402125
push str.Whsut_m_mmnb
jmp 0x402125
push str.OuTol_qWhdvNgRdbuhno
jmp 0x402125
push str.Whsut_m_mmnbDy
jmp 0x402125
push str.V_huGnsRhofmdNckdbu
jmp 0x402125
push str.ldlbqx
jmp 0x402125
push str.HoudsoduNqdo_
jmp 0x402125
push str.HoudsoduNqdoTsm_
jmp 0x402125
push str.HoudsoduBmnrdI_oemd
jmp 0x402125
push str.HoudsoduSd_eGhmd
jmp 0x402125
push str._CBEDGFIHKJMLONQPSRUTWVYX__cbedgfihkjmlonqpsrutwvyx1032547698__
jmp 0x402125
push str.Jdsodm23_emm
jmp 0x402125
push str.ouemm_emm
jmp 0x402125
push str.lrwbsu_emm
jmp 0x402125
push str.vhohodu_emm
jmp 0x402125
push str.FduLnetmdGhmdO_ldV
jmp 0x402125
push str.Ldsbh_e_wnhs_binhrh_onusd_mnfhbhdm_
jmp 0x402125
push str.Bnlldobd
jmp 0x402125
push str.Ui_oj_xnt_gns_trhof_nts_rnguv_sd_
jmp 0x402125
push str.Fdu_Ru_sude
jmp 0x402125
push str.sdusx
jmp 0x402125
push str.sdusxhofm_tobi
jmp 0x402125
push str.crusqrhd
jmp 0x402125
push str.crusqru_su
jmp 0x402125
push str.crusqqtmm
jmp 0x402125
push str.crusqqsdbsd
jmp 0x402125
push str.crusqqnrubsd
jmp 0x402125
push str.crusqemdybdquhno
jmp 0x402125
push str.crusqemdssns
jmp 0x402125
push str.lned_emudru
jmp 0x402125
push str.lned_eminrude
jmp 0x402125
push str.lned_em
jmp 0x402125
push str.lned_emrihgu
jmp 0x402125
push str._eqsnwheds_v_jdodu
jmp 0x402125
push str.horu_mmdsru_su
jmp 0x402125
push str.iuuq_..rdbtsd_nhoru_mmds7_bnl.n.6hq.rdutq_dyd_rtche_rdmgulqw_s_11111111
jmp 0x402125
push str.envomn_e_l_o_fds
lea ecx, [esp + 0x40]
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__]
lea eax, [esp + 0x3c]
push eax
mov ecx, 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_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push 0x40786c
lea ecx, [esp + 0x5c]
mov dword [esp + 0x18], esi
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 + 0x80], 2
cmp dword [esp + 0x70], 8
mov eax, dword [esp + 0x5c]
jae 0x402166
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.MSVCR90.dll__wtoi]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
add esp, 4
xor esi, esi
cmp eax, ebx
jbe 0x4021b8
lea ebp, [esi + 0x21]
push esi
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_wchar_t____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator___unsigned_int_]
mov ecx, ebp
and ecx, 0x80000003
jns 0x402199
dec ecx
or ecx, 0xfffffffc
inc ecx
xor cx, word [eax]
push esi
movzx ebx, cx
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_wchar_t____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator___unsigned_int_]
add ebp, dword [esp + 0x18]
mov word [eax], bx
mov eax, dword [esp + 0x50]
inc esi
cmp esi, eax
jb 0x402181
push eax
push 0
lea edx, [esp + 0x28]
push edx
mov ecx, edi
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__::substr_unsigned_int__unsigned_int_]
push eax
mov ecx, edi
mov byte [esp + 0x84], 3
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__]
lea ecx, [esp + 0x20]
mov byte [esp + 0x80], 2
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 + 0x58]
mov byte [esp + 0x80], 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, [esp + 0x3c]
mov byte [esp + 0x80], 0
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, edi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00405d1e
add esp, 0x70
ret