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

Disassembly:
push 0xffffffffffffffff
push 0x1007375f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20c
mov eax, dword [esp + 0x21c]
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
mov dword [esp + 0x58], ecx
push eax
call fcn.100528f0
mov edi, eax
add esp, 8
cmp edi, ebx
mov dword [esp + 0x40], edi
je 0x1004abe7
mov eax, dword [str.ct.xml]
lea ecx, [esp + 0xf0]
lea edx, [esp + 0x50]
push ecx
push edx
push 1
push eax
push edi
call fcn.10052960
add esp, 0x14
test eax, eax
jne 0x1004abde
cmp dword [esp + 0x50], 0xffffffff
je 0x1004abde
mov ecx, dword [esp + 0x218]
inc ecx
push ecx
call fcn.1003bfe0
mov ebp, eax
add esp, 4
cmp ebp, ebx
mov dword [esp + 0x48], ebp
je 0x1004abde
mov edx, dword [esp + 0x218]
mov eax, dword [esp + 0x50]
push edx
push ebp
push eax
push edi
call fcn.10052a00
add esp, 0x10
cmp eax, ebx
jne 0x1004abcb
mov ecx, dword [esp + 0x218]
mov byte [ecx + ebp], bl
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x224], ebx
call fcn.10002fd0
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ebx
push edx
call fcn.1004d3e0
add esp, 4
test al, al
je 0x1004abb2
mov eax, dword [esp + 0x14]
push eax
push ebp
call fcn.1004d520
add esp, 8
test al, al
je 0x1004abb2
push ecx
mov dword [esp + 0x68], esp
mov esi, esp
push 0xc
call fcn.1003bfe0
add esp, 4
mov dword [esp + 0x5c], eax
cmp eax, ebx
mov byte [esp + 0x228], 1
je 0x1004a26f
push 0x10099fbc
mov ecx, eax
call fcn.10015570
jmp 0x1004a271
xor eax, eax
cmp eax, ebx
mov byte [esp + 0x228], 0
mov dword [esi], eax
jne 0x1004a289
push 0x8007000e
call fcn.1006e336
lea ecx, [esp + 0x20]
mov byte [esp + 0x228], 0
push ecx
lea ecx, [esp + 0x1c]
call fcn.100155b0
mov ecx, eax
call fcn.1004cc50
mov byte [esp + 0x224], 3
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x1004a2c8
push 0x80004003
call fcn.1006e336
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
lea ecx, [esp + 0x68]
push ecx
push eax
mov esi, eax
call dword [edx + 0x20]
cmp eax, ebx
jge 0x1004a2e5
push 0x10085f48
push esi
push eax
call fcn.1006e344
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x68]
cmp edx, eax
jge 0x1004ab9c
cmp dword [esp + 0x1c], ebx
jne 0x1004a305
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
call fcn.1004cd00
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x224], 4
cmp ecx, ebx
je 0x1004ab36
lea edx, [esp + 0xa8]
push edx
call fcn.10014eb0
mov ecx, dword [eax]
mov byte [esp + 0x224], 5
cmp ecx, ebx
je 0x1004a34b
call fcn.10015630
mov esi, eax
jmp 0x1004a34d
xor esi, esi
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc0], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0xc4]
call dword [sym.imp.MSVCP60.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__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0xa8]
mov byte [esp + 0x224], 7
call fcn.1000f220
mov eax, dword [esp + 0xc0]
cmp eax, ebx
jne 0x1004a3a5
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [0x10099d34]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1004ab17
mov edx, dword [str.1.0.0.0]
mov dword [esp + 0x5c], ebx
push edx
mov dword [esp + 0x64], ebx
call fcn.1005a060
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x70], edx
jne 0x1004a3ec
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x2c]
push eax
call fcn.10015050
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x224], 8
cmp eax, ebx
jne 0x1004a418
push 0x80004003
call fcn.1006e336
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
lea edx, [esp + 0x9c]
push edx
push eax
mov esi, eax
call dword [ecx + 0x2c]
cmp eax, ebx
jge 0x1004a438
push 0x10086038
push esi
push eax
call fcn.1006e344
mov ebx, dword [esp + 0x9c]
xor ebp, ebp
test ebx, ebx
jle 0x1004a603
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1004a45b
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x20]
push ebp
push eax
call fcn.100151a0
mov eax, dword [esp + 0x20]
mov byte [esp + 0x224], 9
test eax, eax
jne 0x1004a484
push 0x80004003
call fcn.1006e336
lea ecx, [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.10014eb0
mov ecx, dword [eax]
mov byte [esp + 0x224], 0xa
test ecx, ecx
je 0x1004a4ac
call fcn.10015630
mov esi, eax
jmp 0x1004a4ae
xor esi, esi
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb0], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0xb4]
call dword [sym.imp.MSVCP60.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__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0xa4]
mov byte [esp + 0x224], 0xc
call fcn.1000f220
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x1004a509
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x74]
push eax
call fcn.1004cbb0
mov ecx, dword [eax]
mov byte [esp + 0x224], 0xd
test ecx, ecx
je 0x1004a52e
call fcn.10015630
mov esi, eax
jmp 0x1004a530
xor esi, esi
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0xd0], cl
lea ecx, [esp + 0xd0]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0xd4]
call dword [sym.imp.MSVCP60.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__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0x74]
mov byte [esp + 0x224], 0xf
call fcn.1000f220
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x1004a5bb
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x1004a591
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [str.usedver]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1004a5bb
lea eax, [esp + 0xcc]
push eax
call fcn.1004da00
add esp, 4
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
push 1
lea ecx, [esp + 0xd0]
mov byte [esp + 0x228], 0xc
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0xb0]
mov byte [esp + 0x228], 9
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x20]
mov byte [esp + 0x224], 8
call fcn.10002fd0
inc ebp
cmp ebp, ebx
jl 0x1004a449
lea ecx, [esp + 0x2c]
mov byte [esp + 0x224], 7
call fcn.10002fd0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
jne 0x1004ab51
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
cmp eax, edx
jne 0x1004ab51
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x44]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
push ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], esp
mov esi, esp
push 0xc
call fcn.1003bfe0
add esp, 4
mov dword [esp + 0xf0], eax
test eax, eax
mov byte [esp + 0x228], 0x10
je 0x1004a678
push 0x10099fbc
mov ecx, eax
call fcn.10015570
jmp 0x1004a67a
xor eax, eax
test eax, eax
mov byte [esp + 0x228], 7
mov dword [esi], eax
jne 0x1004a692
push 0x8007000e
call fcn.1006e336
lea edx, [esp + 0x34]
lea ecx, [esp + 0x1c]
push edx
mov byte [esp + 0x22c], 7
call fcn.100155b0
mov ecx, eax
call fcn.1004cc50
mov byte [esp + 0x224], 0x12
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x1004a6d5
push 0x80004003
call fcn.1006e336
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
lea edx, [esp + 0xa0]
push edx
push eax
mov esi, eax
call dword [ecx + 0x20]
test eax, eax
jge 0x1004a6f5
push 0x10085f48
push esi
push eax
call fcn.1006e344
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jge 0x1004aae8
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x1004a71a
push 0x80004003
call fcn.1006e336
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.1004cd00
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x224], 0x13
test ecx, ecx
je 0x1004aacd
lea edx, [esp + 0x88]
push edx
call fcn.10014eb0
mov ecx, dword [eax]
mov byte [esp + 0x224], 0x14
test ecx, ecx
je 0x1004a760
call fcn.10015630
mov esi, eax
jmp 0x1004a762
xor esi, esi
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe0], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0xe4]
call dword [sym.imp.MSVCP60.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__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0x88]
mov byte [esp + 0x224], 0x16
call fcn.1000f220
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x1004a7bb
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [str.item]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1004aab2
mov ebx, dword [esp + 0x230]
mov dword [ebx + 0x94], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x1004a7f0
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x28]
push edx
call fcn.10015050
mov eax, dword [esp + 0x28]
mov byte [esp + 0x224], 0x17
test eax, eax
jne 0x1004a81c
push 0x80004003
call fcn.1006e336
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
push eax
mov esi, eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x1004a839
push 0x10086038
push esi
push eax
call fcn.1006e344
mov eax, dword [esp + 0x4c]
xor ebp, ebp
test eax, eax
jle 0x1004aa9c
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1004a859
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x24]
push ebp
push eax
call fcn.100151a0
mov eax, dword [esp + 0x24]
mov byte [esp + 0x224], 0x18
test eax, eax
jne 0x1004a882
push 0x80004003
call fcn.1006e336
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.10014eb0
mov ecx, dword [eax]
mov byte [esp + 0x224], 0x19
test ecx, ecx
je 0x1004a8a7
call fcn.10015630
mov esi, eax
jmp 0x1004a8a9
xor esi, esi
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x90]
mov byte [esp + 0x90], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0x94]
call dword [sym.imp.MSVCP60.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__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 0x1b
call fcn.1000f220
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x1004a901
push 0x80004003
call fcn.1006e336
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x64]
push eax
call fcn.1004cbb0
mov ecx, dword [eax]
mov byte [esp + 0x224], 0x1c
test ecx, ecx
je 0x1004a926
call fcn.10015630
mov esi, eax
jmp 0x1004a928
xor esi, esi
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x7c], cl
lea ecx, [esp + 0x7c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0x80]
call dword [sym.imp.MSVCP60.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__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0x64]
mov byte [esp + 0x224], 0x1e
call fcn.1000f220
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1004aa53
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x1004a987
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [str.title]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push edx
push eax
call esi
test eax, eax
jne 0x1004a9b2
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea edx, [esp + 0x78]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [ebx + 0x74]
jmp 0x1004aa4d
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x1004a9c2
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [str.icon]
push ecx
push eax
call esi
test eax, eax
jne 0x1004aa1a
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x1004a9dd
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
push esi
push edi
push eax
call fcn.1004d950
add esp, 0xc
mov dword [ebx + 0x94], eax
test eax, eax
jne 0x1004aa53
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x1004aa07
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push esi
push edi
push eax
call fcn.1004d8a0
add esp, 0xc
mov dword [ebx + 0x94], eax
jmp 0x1004aa53
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x1004aa2a
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [0x10099d84]
push edx
push eax
call esi
test eax, eax
jne 0x1004aa53
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea edx, [esp + 0x78]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [ebx + 0x84]
call dword [sym.imp.MSVCP60.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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x228], 0x1b
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x90]
mov byte [esp + 0x228], 0x18
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x24]
mov byte [esp + 0x224], 0x17
call fcn.10002fd0
mov eax, dword [esp + 0x4c]
inc ebp
cmp ebp, eax
jl 0x1004a847
mov eax, dword [esp + 0x28]
mov byte [esp + 0x224], 0x16
test eax, eax
je 0x1004aab2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0x228], 0x13
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [esp + 0x38]
test ecx, ecx
mov byte [esp + 0x224], 0x12
je 0x1004aadf
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
inc dword [esp + 0x34]
jmp 0x1004a6bf
mov eax, dword [esp + 0x30]
mov byte [esp + 0x224], 7
test eax, eax
je 0x1004aafe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
push edx
mov ecx, dword [eax + 0x44]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ebp, dword [esp + 0x48]
xor ebx, ebx
push 1
lea ecx, [esp + 0xc0]
mov byte [esp + 0x228], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
cmp ecx, ebx
mov byte [esp + 0x224], 3
je 0x1004ab48
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
inc dword [esp + 0x3c]
jmp 0x1004a2b2
mov eax, dword [esp + 0x48]
push eax
call fcn.1003c010
mov ecx, dword [esp + 0x44]
push ecx
call fcn.10052a20
add esp, 8
lea ecx, [esp + 0xbc]
mov byte [esp + 0x224], 4
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x18]
call fcn.10002fd0
lea ecx, [esp + 0x1c]
call fcn.10002fd0
lea ecx, [esp + 0x14]
call fcn.10002fd0
jmp 0x1004abe7
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x224], 0
cmp eax, ebx
je 0x1004abb2
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x224], 0xffffffff
cmp eax, ebx
je 0x1004abcb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebp
call fcn.1003c010
push edi
call fcn.10052a20
add esp, 8
mov al, 1
jmp 0x1004abe9
push edi
call fcn.10052a20
add esp, 4
xor al, al
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x218
ret 8