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

Disassembly:
push 0x5c
mov eax, 0x100296ab
call fcn.1002850f
mov ebx, ecx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], eax
test esi, esi
je 0x10019c4b
test edi, edi
je 0x10019c2d
push 0x4e6
mov edx, 0x10005d10
mov ecx, 0x10005cbc
call fcn.1002472a
jmp 0x10019c4f
add esi, 0x78
lea edi, [ebx + 0x108]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi + 0x88]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
jmp 0x10019c85
test edi, edi
je 0x10019c7e
mov ecx, dword [ebp - 0x54]
lea esi, [edi + 0x108]
lea edi, [ebx + 0x108]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ecx + 0x118]
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x10030308]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x2c]
jmp 0x10019c43
mov dword [ebp - 0x58], 0x1000
mov eax, dword [ebp + 0x14]
push dword [ebp - 0x40]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x7c]
mov ecx, eax
mov dword [ebp - 0x38], eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 4]
sub eax, 0x64
je 0x1001a29d
sub eax, 1
je 0x1001a239
sub eax, 1
je 0x1001a1d8
sub eax, 1
je 0x1001a124
mov eax, dword [ebp - 0x40]
mov edi, dword [eax + 8]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x48], edi
cmp edi, dword [eax + 0x34]
jg 0x1001a11a
cmp edi, dword [eax + 0x40]
jne 0x1001a11a
test edi, edi
js 0x1001a11a
cmp dword [eax + 0x34], 0
jl 0x1001a11a
push 0xffffffffffffffff
xor eax, eax
lea ecx, [ebx + 0x7c]
push eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::SetSize_int__int_]
xor eax, eax
mov esi, eax
test edi, edi
jle 0x10019d70
mov ecx, eax
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x30]
cmp dword [eax + ecx + 8], 0xffffffff
je 0x10019d63
cmp dword [edx + 4], 0xc9
je 0x10019d63
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x2c]
mov eax, dword [eax + 4]
lea eax, [eax + esi*4]
push eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::constructor_class_CString_const__]
mov dword [ebp - 4], 4
lea ecx, [ebx + 0x7c]
push dword [ebp - 0x2c]
push dword [ebx + 0x84]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::SetAtGrow_int__unsigned_short_int_const__]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::destructor_void_]
mov ecx, dword [ebp - 0x34]
inc esi
add ecx, 0x14
mov dword [ebp - 0x34], ecx
cmp esi, edi
jl 0x10019d11
xor eax, eax
mov ecx, dword [ebx + 0x24]
mov esi, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x68], eax
cmp dword [ecx + 0x34], eax
jle 0x10019f80
mov edi, eax
lea edx, [ebx + 0x90]
lea eax, [ebx + 0xa0]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], eax
lea eax, [ebx + 0x134]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x3c], eax
mov esi, dword [ecx + 0x30]
add esi, edi
cmp dword [esi + 8], 0xffffffff
je 0x10019f5d
push 5
pop ecx
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x24]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov eax, dword [ecx + 0x30]
cmp dword [eax + edi + 8], 0xf0000000
jbe 0x10019de6
inc dword [ebp - 0x50]
add edx, 0x14
add dword [ebp - 0x3c], 4
add dword [ebp - 0x34], 0x14
mov dword [ebp - 0x30], edx
jmp 0x10019f67
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x48]
jge 0x10019f47
mov eax, dword [eax + edi + 0xc]
inc esi
mov dword [ebp - 0x28], esi
sub eax, 0x13
je 0x10019ee2
sub eax, 0x35
je 0x10019e77
sub eax, 0x3a
je 0x10019e26
push 0x5d5
mov edx, 0x10005d10
mov ecx, 0x10005cbc
call fcn.1002472a
jmp 0x10019f44
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::constructor_class_CString_const__]
mov edi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::destructor_void_]
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [ebp - 0x30]
mov dword [esi], eax
test eax, eax
je 0x10019f91
mov eax, dword [ebp - 0x3c]
mov ecx, edi
mov dword [eax], 0x82
call fcn.1000e286
mov ecx, dword [ebp - 0x34]
lea eax, [eax*2 + 2]
mov dword [ecx], eax
jmp 0x10019edd
push 0x10
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
test eax, eax
je 0x10019fbc
mov eax, dword [ebp - 0x3c]
mov dword [eax], 0x48
xor eax, eax
mov edi, dword [ecx]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x40]
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::constructor_class_CString_const__]
push esi
mov dword [ebp - 4], 5
push dword [ebp - 0x60]
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CLSIDFromString]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
mov esi, eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::destructor_void_]
test esi, esi
js 0x10019fb2
mov edi, dword [ebp - 0x2c]
jmp 0x10019f41
push 4
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov esi, dword [ebp - 0x30]
mov dword [esi], eax
test eax, eax
je 0x10019fc3
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], 0x13
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x64]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::constructor_class_CString_const__]
mov dword [ebp - 4], 6
push dword [ebp - 0x64]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, dword [esi]
or dword [ebp - 4], 0xffffffff
mov dword [ecx], eax
lea ecx, [ebp - 0x64]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::destructor_void_]
mov edx, dword [ebp - 0x34]
mov dword [edx], 4
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
inc dword [ebp - 0x50]
add edx, 0x14
add dword [ebp - 0x3c], 4
add dword [ebp - 0x34], 0x14
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x30], edx
jmp 0x10019f64
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x68]
add edi, 0x14
inc eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x68], eax
cmp eax, dword [ecx + 0x34]
jl 0x10019da4
mov edi, dword [ebp - 0x48]
cmp esi, edi
je 0x10019fca
mov ebx, 0x80070057
push 0x5e9
push ebx
jmp 0x10019f9e
push 0x5c0
mov eax, 0x8007000e
mov ebx, eax
push eax
mov edx, 0x10005d10
mov ecx, 0x10005cbc
call int.1002475d
jmp 0x1001a3ce
mov ebx, 0x80070057
jmp 0x1001a3ce
push 0x5a4
jmp 0x10019f96
push 0x5cb
jmp 0x10019f96
push 0x160
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov dword [ebp - 0x48], eax
mov esi, dword [ebp + 0x14]
mov dword [ebp - 4], 7
test eax, eax
je 0x1001a002
push dword [esi + 0x38]
lea ecx, [ebx + 0x90]
push dword [ebp - 0x50]
push ecx
push dword [ebx + 0x24]
mov ecx, eax
push dword [esi + 4]
call fcn.1001f077
jmp 0x1001a004
xor eax, eax
or dword [ebp - 4], 0xffffffff
lea edi, [ebx + 0x118]
mov dword [ebp - 0x28], edi
mov dword [edi], eax
test eax, eax
jne 0x1001a021
mov ebx, 0x8007000e
jmp 0x1001a3ce
push dword [ebp - 0x44]
mov ecx, eax
push dword [ebp - 0x38]
call fcn.1001e5e2
mov ebx, eax
test ebx, ebx
jns 0x1001a03e
push 0x5f8
jmp 0x10019f8e
cmp dword [esi + 4], 0xca
je 0x1001a092
cmp dword [esi + 4], 4
je 0x1001a092
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x1001a303
mov eax, dword [edi]
mov edi, dword [ecx + 0x118]
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
mov ebx, dword [eax + 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x10030308]
mov ecx, edi
call esi
push eax
mov ecx, ebx
call dword [0x10030308]
mov ecx, dword [ebp - 0x38]
call ebx
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x28], edi
jmp 0x1001a303
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x48]
push dword [eax + 4]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::constructor_class_CString_const__]
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 8
push eax
push dword [ebp - 0x48]
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CLSIDFromString]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
mov esi, eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CString::destructor_void_]
test esi, esi
jns 0x1001a0e4
push 0x604
push esi
mov edx, 0x10005d10
mov ecx, 0x10005cbc
call int.1002475d
mov eax, esi
jmp 0x1001a3fe
xor eax, eax
cmp dword [edi], eax
jne 0x1001a0fe
push 0x606
mov edx, 0x10005d10
mov ecx, 0x10005cbc
call fcn.1002472a
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0x38]
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call dword [0x10030308]
mov ecx, edi
call esi
jmp 0x1001a087
mov ebx, 0x80070057
jmp 0x1001a3d1
mov ecx, ebx
call fcn.1001a54d
lea ecx, [ebx + 0x40]
test esi, esi
je 0x1001a15d
lea eax, [esi + 0x3c]
push eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
lea eax, [esi + 0x50]
lea edi, [ebx + 0x54]
push eax
mov ecx, edi
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
lea eax, [esi + 0x28]
push eax
lea ecx, [ebx + 0x2c]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
add esi, 0x64
jmp 0x1001a187
lea eax, [edi + 0x40]
push eax
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
lea eax, [edi + 0x54]
push eax
lea ecx, [ebx + 0x54]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
lea eax, [edi + 0x2c]
push eax
lea ecx, [ebx + 0x2c]
call dword [sym.imp.MfcSubs.dll_public:_void___thiscall_CStringArray::Copy_class_CStringArray_const__]
lea esi, [edi + 0x68]
lea edi, [ebx + 0x54]
push esi
lea ecx, [ebx + 0x68]
call fcn.1001ad4a
push 0x50
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov esi, eax
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 4], 3
test esi, esi
je 0x1001a2d5
push eax
mov ecx, esi
call fcn.100184a3
lea eax, [ebx + 0x40]
mov dword [esi], 0x1000133c
mov dword [esi + 0x44], eax
lea eax, [ebx + 0x2c]
mov dword [esi + 0x48], eax
lea eax, [ebx + 0x68]
mov dword [esi + 0x4c], eax
xor eax, eax
mov dword [esi + 0x40], edi
jmp 0x1001a2d7
push 0x40
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov esi, eax
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 4], eax
test esi, esi
je 0x1001a201
push 0x66
mov ecx, esi
call fcn.100184a3
mov dword [esi], 0x1000137c
xor eax, eax
jmp 0x1001a203
mov esi, eax
or dword [ebp - 4], 0xffffffff
lea edi, [ebx + 0x118]
mov dword [ebp - 0x28], edi
mov dword [edi], esi
test esi, esi
je 0x1001a017
push dword [ebp - 0x44]
mov ecx, esi
push eax
call fcn.1001e5e2
mov ebx, eax
test ebx, ebx
jns 0x1001a303
push 0x509
jmp 0x10019f8e
push 0x50
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov ecx, eax
mov dword [ebp - 0x38], ecx
push 2
pop eax
mov dword [ebp - 4], eax
test ecx, ecx
je 0x1001a27a
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
xor eax, eax
push eax
call fcn.100184a3
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [eax], 0x100013bc
mov dword [eax + 0x40], esi
mov dword [eax + 0x44], edi
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ecx
jmp 0x1001a27e
xor ecx, ecx
mov eax, ecx
or dword [ebp - 4], 0xffffffff
lea edi, [ebx + 0x118]
mov dword [ebp - 0x28], edi
mov dword [edi], eax
test eax, eax
je 0x1001a017
push dword [ebp - 0x44]
push ecx
mov ecx, eax
jmp 0x1001a2f4
push 0x4c
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov esi, eax
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 4], 1
test esi, esi
je 0x1001a2d5
push eax
mov ecx, esi
call fcn.100184a3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x40], eax
xor eax, eax
mov dword [esi], 0x100013fc
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
jmp 0x1001a2d7
mov esi, eax
or dword [ebp - 4], 0xffffffff
lea edi, [ebx + 0x118]
mov dword [edi], esi
mov dword [ebp - 0x28], edi
test esi, esi
je 0x1001a017
push dword [ebp - 0x44]
mov ecx, esi
push eax
call fcn.1001e5e2
mov ebx, eax
test ebx, ebx
js 0x1001a3ce
mov esi, dword [ebp - 0x24]
mov dword [ebp - 4], 9
push dword [esi + 0x28]
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x1001a393
mov ecx, eax
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x1001a32d
sub ecx, edx
sar ecx, 1
push 2
pop edx
lea ebx, [ecx + 1]
xor ecx, ecx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov dword [esi + 0x28], eax
test eax, eax
jne 0x1001a367
mov eax, 0x8007000e
jmp 0x1001a3fe
push dword [ebp - 0x44]
mov edx, ebx
mov ecx, eax
call fcn.1000e251
mov ebx, eax
test ebx, ebx
jns 0x1001a393
push 0x61e
push ebx
mov edx, 0x10005d10
mov ecx, 0x10005cbc
call int.1002475d
mov ecx, dword [ebp + 0x14]
jmp 0x1001a3d4
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
mov eax, dword [ebp - 0x24]
add eax, 0x11c
push eax
call dword [0x10030308]
mov ecx, edi
call esi
mov ebx, eax
test ebx, ebx
js 0x1001a3ce
mov edi, dword [ebp - 0x28]
push dword [ebp - 0x58]
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x10030308]
mov ecx, edi
call esi
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp - 0x24]
mov eax, dword [0x1002c0a4]
cmp eax, 0x1002c0a4
je 0x1001a3fc
test byte [eax + 0x1c], 4
je 0x1001a3fc
push esi
push ebx
push dword [ecx + 4]
push dword [ecx + 4]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xd
pop ecx
call fcn.100186bd
mov eax, ebx
call fcn.100284c1
ret 0x18