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

Disassembly:
push 0xffffffffffffffff
push 0x10044fc1
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1005e3c8]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x50], 1
call fcn.1003dc00
lea edi, [esi + 4]
mov ecx, edi
mov byte [esp + 0x50], 2
mov dword [esi], vtable.CXKIndexTable.0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
xor eax, eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
lea eax, [esp + 0x58]
xor ebp, ebp
mov bl, 3
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], ebp
call dword [0x1004613c]
push 1
mov byte [esi + 0x3c], 0
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebp
mov byte [esp + 0x50], 4
je 0x1004012b
mov ecx, eax
call fcn.100409b0
mov edi, eax
mov dword [esp + 0x20], edi
jmp 0x10040131
mov dword [esp + 0x20], ebp
mov edi, ebp
lea ecx, [esp + 0x18]
push ecx
sub esp, 0x1c
lea edx, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
mov byte [esp + 0x74], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, edi
call fcn.10040af0
mov bl, byte [esp + 0x90]
test bl, bl
jne 0x10040185
lea eax, [esp + 0x24]
push eax
sub esp, 0x1c
lea edx, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov eax, dword [esp + 0x38]
push eax
mov ecx, edi
call fcn.100409c0
mov ecx, dword [esp + 0x18]
push 4
push ecx
call dword [sym.imp.MSVCR80.dll_calloc]
mov edx, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
xor edi, edi
add esp, 8
cmp dword [edx], edi
mov ebp, eax
mov dword [esp + 0x1c], ebp
je 0x1004022e
mov ebx, ebp
push 1
push edi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x20], 0x2c
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ebp, eax
cmp ebp, dword [ecx]
jne 0x100401da
mov eax, dword [esp + 0x88]
sub eax, edi
push eax
push edi
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x80]
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__::substr_unsigned_int__unsigned_int_]
cmp dword [eax + 0x18], 0x10
jb 0x100401fb
mov eax, dword [eax + 4]
jmp 0x100401fe
add eax, 4
push eax
call dword [sym.imp.MSVCR80.dll_atoi]
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [ebx], eax
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 eax, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add ebx, 4
cmp ebp, dword [eax]
lea edi, [ebp + 1]
jne 0x100401ad
mov bl, byte [esp + 0x90]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
add ecx, 1
push 8
push ecx
call dword [sym.imp.MSVCR80.dll_calloc]
mov edi, eax
add esp, 8
test edi, edi
jne 0x100402a6
push 0x753c
call fcn.1003dc20
push 0x753c
call fcn.10040690
push eax
push 0x1004e10c
push 0x98
push str.CXKIndexTable::CXKIndexTable
push str..._srcXKIndexTable.cpp
call fcn.1003e230
push 0x753c
call fcn.10040690
push eax
push 0x753c
push str.__d___s
push 0x99
push str.CXKIndexTable::CXKIndexTable
push str..._srcXKIndexTable.cpp
call fcn.1003e320
add esp, 0x38
jmp 0x10040342
mov ecx, dword [esp + 0x18]
xor eax, eax
test ecx, ecx
jle 0x100402d1
test bl, bl
mov edx, dword [ebp + eax*4]
mov dword [edi + eax*8 + 4], edx
jne 0x100402c6
mov ecx, dword [esp + 0x24]
mov dl, byte [eax + ecx]
mov byte [edi + eax*8], dl
mov ecx, dword [esp + 0x18]
add eax, 1
cmp eax, ecx
jl 0x100402b0
push ecx
push edi
mov ecx, esi
call fcn.1003fad0
test eax, eax
je 0x10040338
push 0x7536
call fcn.1003dc20
push 0x7536
call fcn.10040690
push eax
push 0x1004e10c
push 0xad
push str.CXKIndexTable::CXKIndexTable
push str..._srcXKIndexTable.cpp
call fcn.1003e230
push 0x7536
call fcn.10040690
push eax
push 0x7536
push str.__d___s
push 0xae
push str.CXKIndexTable::CXKIndexTable
push str..._srcXKIndexTable.cpp
call fcn.1003e320
add esp, 0x38
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov edi, dword [esp + 0x20]
test edi, edi
je 0x1004035a
mov ecx, edi
call sym.NativeMng.dll_public:_void___thiscall_NativeMng::CertSelect::destructor_void_
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esp + 0x58]
mov byte [esp + 0x50], 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 + 0x74]
mov dword [esp + 0x50], 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 eax, esi
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 0x3c