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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
mov eax, dword [0x1005f2f4]
xor eax, esp
mov dword [esp + 0x50], eax
test byte [0x10060480], 1
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x1c], ebx
je 0x1003a8b9
push ecx
push ecx
mov ecx, 0x1000e340
call fcn.1003c30f
cmp byte [ebx + 0x188], 0
mov al, byte [ebx + 0xc0]
mov byte [esp + 0x2f], al
mov byte [ebx + 0xc0], 1
mov byte [esp + 0x23], 1
mov byte [esp + 0x34], 1
mov byte [esp + 0x2c], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x2d], 0
jne 0x1003a919
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 1
push eax
mov ecx, ebx
call fcn.1003bd86
test eax, eax
js 0x1003a919
cmp dword [esp + 0x3c], 0
mov byte [ebx + 0x188], 1
jne 0x1003a919
mov byte [ebx + 0x189], 1
and dword [esp + 0x30], 0
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x1003a9c9
and dword [esp + 0x10], 0
lea edx, [esp + 0x10]
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x100614f4]
call esi
mov ebx, eax
test ebx, ebx
js 0x1003a9af
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x1003a956
mov ebx, 0x80004005
test ebx, ebx
js 0x1003a9b3
mov eax, dword [ecx]
lea edx, [esp + 0x30]
push edx
push ecx
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x100614f4]
call esi
mov ebx, eax
test ebx, ebx
js 0x1003a9af
push dword [esp + 0x30]
call fcn.100367db
test al, al
je 0x1003a9af
cmp dword [esp + 0x30], 0
je 0x1003a994
xor edx, edx
lea ecx, [esp + 0x30]
call fcn.100164eb
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
call dword [0x100614f4]
call esi
mov ebx, eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x1003a9ce
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100614f4]
call esi
jmp 0x1003a9ce
mov ebx, 0x80004005
push 0x3c
call fcn.10020cc4
pop ecx
test eax, eax
je 0x1003a9e9
mov ecx, eax
call fcn.10034986
mov edi, eax
mov dword [esp + 0xc], eax
jmp 0x1003a9ef
xor edi, edi
mov dword [esp + 0xc], edi
test edi, edi
jne 0x1003a9f8
mov ebx, 0x8007000e
push dword [esp + 0x30]
lea ecx, [esp + 0x58]
call fcn.1002a916
mov esi, dword [esp + 0x54]
lea edx, [esp + 0x2e]
mov ecx, esi
call fcn.1003c200
cmp byte [esp + 0x2e], 0
jne 0x1003aa20
mov ebx, 0x80004005
test ebx, ebx
js 0x1003aa36
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x17c]
call fcn.10047227
mov ebx, eax
lea ecx, [esp + 0x38]
call fcn.1001b186
and dword [esp + 0x24], 0
lea ecx, [esp + 0x58]
call fcn.1001b186
push dword [ebp + 8]
lea ecx, [esp + 0x40]
call fcn.1002a6e4
test ebx, ebx
js 0x1003af8d
lea eax, [esp + 0x38]
push eax
push 1
push 0
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CreateStreamOnHGlobal]
mov ebx, eax
test ebx, ebx
js 0x1003af8d
push dword [esp + 0x3c]
call dword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x28]
and dword [esp + 0x28], 0
push edx
push eax
mov edi, dword [ecx]
push dword [esp + 0x44]
mov dword [esp + 0x4c], eax
push ecx
mov ecx, dword [edi + 0x10]
call dword [0x100614f4]
call dword [edi + 0x10]
mov ebx, eax
test ebx, ebx
js 0x1003af89
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x28], eax
je 0x1003aac3
mov ebx, 0x8000ffff
test ebx, ebx
js 0x1003af89
mov eax, dword [esp + 0x38]
push 0
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x20]
mov ecx, edi
call dword [0x100614f4]
call edi
mov ebx, eax
test ebx, ebx
js 0x1003af89
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x40]
push ecx
xor ecx, ecx
push ecx
mov edi, dword [eax]
push ecx
push ecx
push eax
mov ecx, dword [edi + 0x14]
call dword [0x100614f4]
call dword [edi + 0x14]
mov ebx, eax
test ebx, ebx
js 0x1003af89
xor edi, edi
lea eax, [esp + 0x24]
push edi
push eax
push 0x1000f0cc
call dword [sym.imp.XmlLite.dll_CreateXmlReader]
mov ebx, eax
test ebx, ebx
js 0x1003af89
lea eax, [esp + 0x58]
push eax
push edi
push 1
push 0x1000eefc
push edi
push dword [esp + 0x4c]
call dword [sym.imp.XmlLite.dll_CreateXmlReaderInputWithEncodingName]
mov ebx, eax
test ebx, ebx
js 0x1003af89
mov eax, dword [esp + 0x24]
push dword [esp + 0x58]
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0xc]
mov ecx, edi
call dword [0x100614f4]
call edi
mov ebx, eax
test ebx, ebx
js 0x1003af89
and dword [esp + 0x28], 0
and dword [esp + 0x18], 0
or dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x18]
mov ecx, edi
call dword [0x100614f4]
call edi
mov ebx, eax
test ebx, ebx
jne 0x1003af87
mov eax, dword [esp + 0x28]
sub eax, 1
jne 0x1003af69
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x18]
push ebx
push ecx
push eax
mov edi, dword [eax]
mov ecx, dword [edi + 0x38]
call dword [0x100614f4]
call dword [edi + 0x38]
mov ebx, eax
test ebx, ebx
js 0x1003af89
push 0x1000ef5c
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003abf6
mov edi, dword [esp + 0xc]
lea edx, [edi + 0x20]
jmp 0x1003af03
push 0x1000ef68
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003ac17
mov edi, dword [esp + 0xc]
lea edx, [edi + 0x1c]
jmp 0x1003af03
push 0x1000ef74
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003adbd
mov edi, dword [esp + 0xc]
or dword [esp + 0x10], 0xffffffff
cmp dword [edi + 0x10], eax
je 0x1003ac43
mov ebx, 0x80070057
test ebx, ebx
js 0x1003af8d
mov ecx, dword [esp + 0x24]
lea edx, [edi + 0x10]
call fcn.10038e0c
mov ebx, eax
test ebx, ebx
js 0x1003af8d
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x1003ac69
inc eax
mov dword [edi + 0x14], eax
mov edi, eax
shl edi, 2
push edi
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemAlloc]
mov ecx, dword [esp + 0xc]
push edi
mov dword [ecx + 0x24], eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemAlloc]
mov ecx, dword [esp + 0xc]
push edi
mov dword [ecx + 0x28], eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemAlloc]
mov ecx, dword [esp + 0xc]
push edi
mov dword [ecx + 0x2c], eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemAlloc]
mov ecx, dword [esp + 0xc]
push edi
mov dword [ecx + 0x30], eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemAlloc]
mov ecx, dword [esp + 0xc]
push edi
mov dword [ecx + 0x34], eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemAlloc]
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x24], 0
mov dword [edi + 0x38], eax
je 0x1003ace1
cmp dword [edi + 0x28], 0
je 0x1003ace1
cmp dword [edi + 0x30], 0
je 0x1003ace1
cmp dword [edi + 0x34], 0
je 0x1003ace1
test eax, eax
jne 0x1003ace6
mov ebx, 0x8007000e
test ebx, ebx
js 0x1003af8d
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1003ad6f
shl eax, 2
push eax
push 0
push dword [edi + 0x24]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x10]
add esp, 0xc
shl eax, 2
push eax
push 0
push dword [edi + 0x28]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x10]
add esp, 0xc
shl eax, 2
push eax
push 0
push dword [edi + 0x2c]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x10]
add esp, 0xc
shl eax, 2
push eax
push 0
push dword [edi + 0x30]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x10]
add esp, 0xc
shl eax, 2
push eax
push 0
push dword [edi + 0x34]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x10]
add esp, 0xc
shl eax, 2
push eax
push 0
push dword [edi + 0x38]
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x1003af65
push 0x1000e600
mov dword [edi + 0x10], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0x24]
push 0x1000e600
mov dword [ecx], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0x28]
push 0x1000e600
mov dword [ecx], eax
mov eax, dword [edi + 0x2c]
and dword [eax], 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0x30]
mov dword [ecx], eax
mov eax, dword [edi + 0x34]
and dword [eax], 0
mov eax, dword [edi + 0x38]
and dword [eax], 0
jmp 0x1003af65
push 0x1000ef90
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003adf2
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edi + 0x10]
jl 0x1003af65
mov ebx, 0x80070057
jmp 0x1003af65
push 0x1000ef4c
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003ae13
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x24]
jmp 0x1003aeb0
push 0x1000efa0
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003ae31
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x28]
jmp 0x1003aeb0
push 0x1000efb0
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003ae94
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
shl edi, 2
mov edx, dword [eax + 0x2c]
add edx, edi
call fcn.10038cdc
mov ebx, eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2c]
cmp dword [edi + eax], 3
je 0x1003af61
cmp dword [edi + eax], 4
je 0x1003af61
cmp dword [edi + eax], 5
mov edi, dword [esp + 0xc]
je 0x1003af65
mov byte [esp + 0x23], 0
jmp 0x1003af65
push 0x1000efbc
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003aec2
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x30]
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x24]
call fcn.10038e8f
jmp 0x1003af0c
push 0x1000efe4
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003aee0
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x34]
jmp 0x1003aefc
push 0x1000f008
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003af10
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x38]
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x24]
call fcn.10038e0c
mov ebx, eax
jmp 0x1003af65
push 0x1000f028
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003af2c
mov byte [esp + 0x17], 1
jmp 0x1003af61
push 0x1000f040
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003af47
mov byte [esp + 0x34], al
jmp 0x1003af61
push 0x1000f05c
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003af61
mov byte [esp + 0x2c], 1
mov edi, dword [esp + 0xc]
test ebx, ebx
js 0x1003af8d
mov eax, dword [esp + 0x24]
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call dword [0x100614f4]
call edi
mov ebx, eax
test ebx, ebx
jns 0x1003ab82
jns 0x1003afac
mov edi, dword [esp + 0xc]
test edi, edi
je 0x1003afa4
mov ecx, edi
call fcn.10034cad
push edi
call fcn.10020cf8
and dword [esp + 0x10], 0
pop ecx
test ebx, ebx
js 0x1003b478
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xc]
lea ecx, [eax + 0x180]
cmp dword [ecx], 0
mov dword [esp + 0x40], ecx
jne 0x1003afe0
cmp byte [esp + 0x2c], 0
jne 0x1003afe0
push dword [esp + 0x34]
mov ecx, eax
push dword [edi + 0x1c]
call fcn.1003bad6
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
test ebx, ebx
js 0x1003b478
add eax, 0xb0
cmp dword [ecx], 0
mov dword [esp + 0x34], eax
jne 0x1003b005
mov ecx, eax
call fcn.10036c74
mov eax, dword [esp + 0x34]
mov byte [eax + 4], 1
mov byte [eax + 5], 1
call dword [sym.imp.api_ms_win_core_sysinfo_l1_2_1.dll_GetTickCount64]
mov ecx, dword [esp + 0x34]
push edi
push 0x1000faa0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x24]
and dword [edi + 0x18], 0
push ecx
mov eax, dword [ecx + 0x17c]
mov dword [edi + 4], eax
lea eax, [ecx + 0x180]
mov dword [edi + 8], eax
lea eax, [ecx + 0x18c]
mov dword [edi + 0xc], eax
mov eax, dword [ecx]
mov edi, dword [eax]
mov ecx, edi
call dword [0x100614f4]
call edi
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x1c], 0x412
jne 0x1003b290
mov eax, dword [edi + 0x2c]
and dword [esp + 0x28], 0
cmp dword [eax], 5
jne 0x1003b187
cmp dword [edi + 0x10], 2
jne 0x1003b187
and dword [esp + 0x10], 0
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x24]
mov edi, dword [eax]
mov ecx, edi
call fcn.1003221f
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.1001def0
mov ebx, eax
test ebx, ebx
js 0x1003b16d
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x24]
mov edi, dword [eax + 4]
mov ecx, edi
call fcn.1003221f
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.1001def0
mov ebx, eax
test ebx, ebx
js 0x1003b16d
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x28]
mov edi, dword [eax]
mov ecx, edi
call fcn.1003221f
push eax
push edi
lea ecx, [esp + 0x20]
call fcn.1001def0
mov ebx, eax
test ebx, ebx
js 0x1003b167
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x28]
mov edi, dword [eax + 4]
mov ecx, edi
call fcn.1003221f
push eax
push edi
lea ecx, [esp + 0x20]
call fcn.1001def0
mov ebx, eax
test ebx, ebx
js 0x1003b167
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x24]
push dword [eax]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [esp + 0xc]
xor edi, edi
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + 0x24]
mov dword [eax], ecx
mov eax, dword [edx + 0x28]
push dword [eax]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [esp + 0xc]
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x28]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x38]
mov ecx, dword [edx + 4]
mov dword [edx], ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x10], 1
jmp 0x1003b175
mov eax, dword [esp + 0x18]
jmp 0x1003b171
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [esp + 0xc]
mov ecx, esi
call fcn.10056c1d
test al, al
jne 0x1003b1bd
mov eax, dword [edi + 0x2c]
cmp dword [eax], 5
jne 0x1003b1bd
mov eax, dword [esp + 0x40]
cmp dword [eax], 0
je 0x1003b1f2
mov ecx, edi
call fcn.10036035
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1003b1b7
mov ebx, 0x8007000e
and dword [edi + 0x10], 0
jmp 0x1003b1ee
cmp dword [edi + 0x10], 2
jne 0x1003b1f2
mov ecx, edi
call fcn.10036035
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1003b1d9
mov ebx, 0x8007000e
jmp 0x1003b1e7
mov dword [eax + 0x18], 1
mov dword [eax + 0x10], 1
mov dword [edi + 0x10], 1
and dword [edi + 0x20], 0
test ebx, ebx
js 0x1003b2a6
cmp byte [esp + 0x17], 0
je 0x1003b240
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
and dword [esp + 0x40], 0
push eax
push 1
push 0x10040680
push edi
push esi
call fcn.10041eae
mov ebx, eax
test ebx, ebx
js 0x1003b239
cmp dword [esp + 0x40], 0x80040208
jne 0x1003b239
mov byte [esp + 0x17], 0
xor ebx, ebx
mov byte [esp + 0x2d], 1
cmp byte [esp + 0x17], 0
jne 0x1003b25a
push 0
push 0
push 0x10040680
push edi
mov edi, dword [esp + 0x2c]
mov ecx, edi
push esi
call fcn.10041eae
mov ebx, eax
jmp 0x1003b25e
mov edi, dword [esp + 0x1c]
test ebx, ebx
jns 0x1003b27a
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1003b2a6
mov ecx, edi
call fcn.10034cad
push edi
call fcn.10020cf8
pop ecx
jmp 0x1003b2a6
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1003b2a6
push 0
push 0
push 0x10040680
push eax
mov ecx, edi
jmp 0x1003b29e
mov ecx, dword [esp + 0x1c]
push 0
push 0
push 0x10040680
push edi
push esi
call fcn.10041eae
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1bc], 1
test ebx, ebx
js 0x1003b47c
add eax, 0x1c
push 0
push 1
push esi
mov edi, dword [eax]
push eax
mov ecx, dword [edi + 0xc]
call dword [0x100614f4]
call dword [edi + 0xc]
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x184], 0
jne 0x1003b385
cmp dword [edi + 0x78], 0
je 0x1003b385
cmp byte [esp + 0x23], 0
jne 0x1003b4c4
test esi, esi
je 0x1003b4c4
mov ecx, esi
call fcn.10056c1d
test al, al
je 0x1003b390
mov eax, dword [edi + 0x78]
lea ecx, [esp + 0x10]
and dword [esp + 0x10], 0
push ecx
push 0x10008cc8
mov edi, dword [eax]
push eax
mov ecx, dword [edi]
call dword [0x100614f4]
call dword [edi]
test eax, eax
js 0x1003b36d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push 0
lea ecx, [edx + 0x4c]
mov edi, dword [eax]
push ecx
push dword [edx + 0x80]
mov ecx, dword [edi + 0xc]
push eax
call dword [0x100614f4]
call dword [edi + 0xc]
test eax, eax
js 0x1003b36d
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [edx + 0x184], ecx
jmp 0x1003b371
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1003b390
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x100614f4]
call edi
cmp byte [esp + 0x23], 0
jne 0x1003b4c4
test esi, esi
je 0x1003b4c4
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
and dword [esp + 0x28], 0
mov edi, dword [esi]
push eax
push 0x10008088
push esi
mov ecx, dword [edi]
call dword [0x100614f4]
call dword [edi]
test eax, eax
js 0x1003b446
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push 0x1000f9a4
push eax
mov edi, dword [eax]
mov ecx, dword [edi + 0xc]
call dword [0x100614f4]
call dword [edi + 0xc]
test eax, eax
js 0x1003b446
xor eax, eax
lea edi, [esp + 0x42]
stosd dword es:[edi], eax
lea ecx, [esp + 0x40]
push 3
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
pop eax
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x4c], 1
mov edi, dword [eax]
push dword [ecx + 0x80]
mov ecx, dword [edi + 0xc]
push eax
call dword [0x100614f4]
call dword [edi + 0xc]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x40]
and dword [esp + 0x48], 0
push ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [eax]
push dword [ecx + 0x80]
mov ecx, dword [edi + 0xc]
push eax
call dword [0x100614f4]
call dword [edi + 0xc]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1003b45e
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x100614f4]
call edi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1003b4c4
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x100614f4]
call edi
jmp 0x1003b4c4
mov eax, dword [esp + 0x1c]
and dword [esp + 0x40], 0
mov ecx, dword [eax + 0x1c4]
test ecx, ecx
je 0x1003b4c4
lea edx, [esp + 0x40]
call fcn.10036f94
mov esi, dword [esp + 0x40]
test eax, eax
js 0x1003b4ac
mov eax, dword [esi]
push esi
mov edi, dword [eax + 0x1c]
mov ecx, edi
call dword [0x100614f4]
call edi
test esi, esi
je 0x1003b4c0
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100614f4]
call esi
mov esi, dword [esp + 0x54]
cmp byte [esp + 0x2d], 0
je 0x1003b4d4
test ebx, ebx
js 0x1003b4d4
mov ebx, 0x80040208
test byte [0x10060480], 1
je 0x1003b4e9
push ecx
push ecx
mov ecx, 0x1000e330
call fcn.1003c30f
push dword [esp + 0x3c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x58]
call fcn.1001b150
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1003b514
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x100614f4]
call edi
lea ecx, [esp + 0x38]
call fcn.1002a77e
test esi, esi
je 0x1003b531
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100614f4]
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1003b549
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100614f4]
call esi
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0x2f]
pop edi
pop esi
mov byte [eax + 0xc0], cl
mov eax, ebx
mov ecx, dword [esp + 0x54]
pop ebx
xor ecx, esp
call fcn.10021250
mov esp, ebp
pop ebp
ret 4