Function at 0x1003b2af
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 [0x10064318]
xor eax, esp
mov dword [esp + 0x50], eax
test byte [0x10065540], 1
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x1c], ebx
je 0x1003b2e1
mov edx, 0x1000ea68
call fcn.1003ce04
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 0x1003b341
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 1
push eax
mov ecx, ebx
call fcn.1003c7ff
test eax, eax
js 0x1003b341
cmp dword [esp + 0x3c], 0
mov byte [ebx + 0x188], 1
jne 0x1003b341
mov byte [ebx + 0x189], 1
mov ecx, dword [ebx + 0x78]
xor eax, eax
and dword [esp + 0x30], 0
mov ebx, ecx
neg ebx
mov dword [esp + 0x10], eax
sbb ebx, ebx
and ebx, 0x7fffbffb
add ebx, 0x80004005
test ecx, ecx
je 0x1003b380
mov eax, dword [ecx]
lea edx, [esp + 0x10]
push edx
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x10066528]
call esi
mov ebx, eax
mov eax, dword [esp + 0x10]
test ebx, ebx
js 0x1003b3ef
test eax, eax
jne 0x1003b38d
mov ebx, 0x80004005
test ebx, ebx
js 0x1003b3ef
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
mov esi, dword [ecx + 0x18]
mov ecx, esi
call dword [0x10066528]
call esi
mov ebx, eax
test ebx, ebx
js 0x1003b3eb
push dword [esp + 0x30]
call fcn.100371ab
test al, al
je 0x1003b3eb
cmp dword [esp + 0x30], 0
setne al
test al, al
je 0x1003b3d0
xor edx, edx
lea ecx, [esp + 0x30]
call fcn.1001dc5f
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 [0x10066528]
call esi
mov ebx, eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1003b403
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x10066528]
call esi
push 0x3c
call fcn.1001ec41
pop ecx
test eax, eax
je 0x1003b41e
mov ecx, eax
call fcn.100353ab
mov edi, eax
mov dword [esp + 0xc], eax
jmp 0x1003b424
xor edi, edi
mov dword [esp + 0xc], edi
test edi, edi
jne 0x1003b42d
mov ebx, 0x8007000e
push dword [esp + 0x30]
lea ecx, [esp + 0x58]
call fcn.100292e5
mov esi, dword [esp + 0x54]
lea edx, [esp + 0x2e]
mov ecx, esi
call fcn.1003cc79
cmp byte [esp + 0x2e], 0
jne 0x1003b455
mov ebx, 0x80004005
test ebx, ebx
js 0x1003b46b
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x17c]
call fcn.10047d37
mov ebx, eax
lea ecx, [esp + 0x38]
call fcn.100196cc
and dword [esp + 0x24], 0
lea ecx, [esp + 0x58]
call fcn.100196cc
push dword [ebp + 8]
lea ecx, [esp + 0x40]
call fcn.10028d5b
test ebx, ebx
js 0x1003b9c2
lea eax, [esp + 0x38]
push eax
push 1
push 0
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CreateStreamOnHGlobal]
mov ebx, eax
test ebx, ebx
js 0x1003b9c2
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 [0x10066528]
call dword [edi + 0x10]
mov ebx, eax
test ebx, ebx
js 0x1003b9be
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x28], eax
je 0x1003b4f8
mov ebx, 0x8000ffff
test ebx, ebx
js 0x1003b9be
mov eax, dword [esp + 0x38]
push 0
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x20]
mov ecx, edi
call dword [0x10066528]
call edi
mov ebx, eax
test ebx, ebx
js 0x1003b9be
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 [0x10066528]
call dword [edi + 0x14]
mov ebx, eax
test ebx, ebx
js 0x1003b9be
xor edi, edi
lea eax, [esp + 0x24]
push edi
push eax
push 0x1000f85c
call dword [sym.imp.XmlLite.dll_CreateXmlReader]
mov ebx, eax
test ebx, ebx
js 0x1003b9be
lea eax, [esp + 0x58]
push eax
push edi
push 1
push 0x1000f68c
push edi
push dword [esp + 0x4c]
call dword [sym.imp.XmlLite.dll_CreateXmlReaderInputWithEncodingName]
mov ebx, eax
test ebx, ebx
js 0x1003b9be
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 [0x10066528]
call edi
mov ebx, eax
test ebx, ebx
js 0x1003b9be
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 [0x10066528]
call edi
mov ebx, eax
test ebx, ebx
jne 0x1003b9bc
mov eax, dword [esp + 0x28]
sub eax, 1
jne 0x1003b99e
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 [0x10066528]
call dword [edi + 0x38]
mov ebx, eax
test ebx, ebx
js 0x1003b9be
push 0x1000f6ec
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b62b
mov edi, dword [esp + 0xc]
lea edx, [edi + 0x20]
jmp 0x1003b938
push 0x1000f6f8
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b64c
mov edi, dword [esp + 0xc]
lea edx, [edi + 0x1c]
jmp 0x1003b938
push 0x1000f704
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b7f2
mov edi, dword [esp + 0xc]
or dword [esp + 0x10], 0xffffffff
cmp dword [edi + 0x10], eax
je 0x1003b678
mov ebx, 0x80070057
test ebx, ebx
js 0x1003b9c2
mov ecx, dword [esp + 0x24]
lea edx, [edi + 0x10]
call fcn.100397cc
mov ebx, eax
test ebx, ebx
js 0x1003b9c2
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x1003b69e
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_0.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_0.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_0.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_0.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_0.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_0.dll_CoTaskMemAlloc]
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x24], 0
mov dword [edi + 0x38], eax
je 0x1003b716
cmp dword [edi + 0x28], 0
je 0x1003b716
cmp dword [edi + 0x30], 0
je 0x1003b716
cmp dword [edi + 0x34], 0
je 0x1003b716
test eax, eax
jne 0x1003b71b
mov ebx, 0x8007000e
test ebx, ebx
js 0x1003b9c2
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1003b7a4
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 0x1003b99a
push 0x1000ed48
mov dword [edi + 0x10], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0x24]
push 0x1000ed48
mov dword [ecx], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [edi + 0x28]
push 0x1000ed48
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 0x1003b99a
push 0x1000f720
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b827
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edi + 0x10]
jl 0x1003b99a
mov ebx, 0x80070057
jmp 0x1003b99a
push 0x1000f6dc
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b848
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x24]
jmp 0x1003b8e5
push 0x1000f730
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b866
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x28]
jmp 0x1003b8e5
push 0x1000f740
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b8c9
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.1003969c
mov ebx, eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2c]
cmp dword [edi + eax], 3
je 0x1003b996
cmp dword [edi + eax], 4
je 0x1003b996
cmp dword [edi + eax], 5
mov edi, dword [esp + 0xc]
je 0x1003b99a
mov byte [esp + 0x23], 0
jmp 0x1003b99a
push 0x1000f74c
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b8f7
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.1003984f
jmp 0x1003b941
push 0x1000f774
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b915
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x34]
jmp 0x1003b931
push 0x1000f798
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b945
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.100397cc
mov ebx, eax
jmp 0x1003b99a
push 0x1000f7b8
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b961
mov byte [esp + 0x17], 1
jmp 0x1003b996
push 0x1000f7d0
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b97c
mov byte [esp + 0x34], al
jmp 0x1003b996
push 0x1000f7ec
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1003b996
mov byte [esp + 0x2c], 1
mov edi, dword [esp + 0xc]
test ebx, ebx
js 0x1003b9c2
mov eax, dword [esp + 0x24]
push eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call dword [0x10066528]
call edi
mov ebx, eax
test ebx, ebx
jns 0x1003b5b7
jns 0x1003b9e1
mov edi, dword [esp + 0xc]
test edi, edi
je 0x1003b9d9
mov ecx, edi
call fcn.100356d3
push edi
call fcn.1001ec6a
and dword [esp + 0x10], 0
pop ecx
test ebx, ebx
js 0x1003beb6
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xc]
lea ecx, [eax + 0x180]
cmp dword [ecx], 0
mov dword [esp + 0x40], ecx
jne 0x1003ba15
cmp byte [esp + 0x2c], 0
jne 0x1003ba15
push dword [esp + 0x34]
mov ecx, eax
push dword [edi + 0x1c]
call fcn.1003c526
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
test ebx, ebx
js 0x1003beb6
add eax, 0xb0
cmp dword [ecx], 0
mov dword [esp + 0x34], eax
jne 0x1003ba3a
mov ecx, eax
call fcn.10037634
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_1_0.dll_GetTickCount64]
mov ecx, dword [esp + 0x34]
push edi
push 0x10010404
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 [0x10066528]
call edi
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x1c], 0x412
jne 0x1003bcc5
mov eax, dword [edi + 0x2c]
and dword [esp + 0x28], 0
cmp dword [eax], 5
jne 0x1003bbbc
cmp dword [edi + 0x10], 2
jne 0x1003bbbc
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.10032536
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.10028dad
mov ebx, eax
test ebx, ebx
js 0x1003bba2
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x24]
mov edi, dword [eax + 4]
mov ecx, edi
call fcn.10032536
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.10028dad
mov ebx, eax
test ebx, ebx
js 0x1003bba2
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x28]
mov edi, dword [eax]
mov ecx, edi
call fcn.10032536
push eax
push edi
lea ecx, [esp + 0x20]
call fcn.10028dad
mov ebx, eax
test ebx, ebx
js 0x1003bb9c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x28]
mov edi, dword [eax + 4]
mov ecx, edi
call fcn.10032536
push eax
push edi
lea ecx, [esp + 0x20]
call fcn.10028dad
mov ebx, eax
test ebx, ebx
js 0x1003bb9c
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 0x1003bbaa
mov eax, dword [esp + 0x18]
jmp 0x1003bba6
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.1005ae8f
test al, al
jne 0x1003bbf2
mov eax, dword [edi + 0x2c]
cmp dword [eax], 5
jne 0x1003bbf2
mov eax, dword [esp + 0x40]
cmp dword [eax], 0
je 0x1003bc27
mov ecx, edi
call fcn.10036ac1
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1003bbec
mov ebx, 0x8007000e
and dword [edi + 0x10], 0
jmp 0x1003bc23
cmp dword [edi + 0x10], 2
jne 0x1003bc27
mov ecx, edi
call fcn.10036ac1
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1003bc0e
mov ebx, 0x8007000e
jmp 0x1003bc1c
mov dword [eax + 0x18], 1
mov dword [eax + 0x10], 1
mov dword [edi + 0x10], 1
and dword [edi + 0x20], 0
test ebx, ebx
js 0x1003bcdb
cmp byte [esp + 0x17], 0
je 0x1003bc75
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
and dword [esp + 0x40], 0
push eax
push 1
push 0x100411a0
push edi
push esi
call fcn.100429c1
mov ebx, eax
test ebx, ebx
js 0x1003bc6e
cmp dword [esp + 0x40], 0x80040208
jne 0x1003bc6e
mov byte [esp + 0x17], 0
xor ebx, ebx
mov byte [esp + 0x2d], 1
cmp byte [esp + 0x17], 0
jne 0x1003bc8f
push 0
push 0
push 0x100411a0
push edi
mov edi, dword [esp + 0x2c]
mov ecx, edi
push esi
call fcn.100429c1
mov ebx, eax
jmp 0x1003bc93
mov edi, dword [esp + 0x1c]
test ebx, ebx
jns 0x1003bcaf
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1003bcdb
mov ecx, edi
call fcn.100356d3
push edi
call fcn.1001ec6a
pop ecx
jmp 0x1003bcdb
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1003bcdb
push 0
push 0
push 0x100411a0
push eax
mov ecx, edi
jmp 0x1003bcd3
mov ecx, dword [esp + 0x1c]
push 0
push 0
push 0x100411a0
push edi
push esi
call fcn.100429c1
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1bc], 1
test ebx, ebx
js 0x1003beba
add eax, 0x1c
push 0
push 1
push esi
mov edi, dword [eax]
push eax
mov ecx, dword [edi + 0xc]
call dword [0x10066528]
call dword [edi + 0xc]
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x184], 0
jne 0x1003bdbf
cmp dword [edi + 0x78], 0
je 0x1003bdbf
cmp byte [esp + 0x23], 0
jne 0x1003bf02
test esi, esi
setne al
test al, al
je 0x1003bdca
mov ecx, esi
call fcn.1005ae8f
test al, al
je 0x1003bdca
mov eax, dword [edi + 0x78]
lea ecx, [esp + 0x10]
and dword [esp + 0x10], 0
push ecx
push 0x10008ebc
mov edi, dword [eax]
push eax
mov ecx, dword [edi]
call dword [0x10066528]
call dword [edi]
test eax, eax
js 0x1003bda7
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 [0x10066528]
call dword [edi + 0xc]
test eax, eax
js 0x1003bda7
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [edx + 0x184], ecx
jmp 0x1003bdab
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1003bdca
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x10066528]
call edi
cmp byte [esp + 0x23], 0
jne 0x1003bf02
test esi, esi
setne al
test al, al
je 0x1003bf02
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
and dword [esp + 0x28], 0
mov edi, dword [esi]
push eax
push 0x10008418
push esi
mov ecx, dword [edi]
call dword [0x10066528]
call dword [edi]
test eax, eax
js 0x1003be84
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push 0x100102ac
push eax
mov edi, dword [eax]
mov ecx, dword [edi + 0xc]
call dword [0x10066528]
call dword [edi + 0xc]
test eax, eax
js 0x1003be84
xor eax, eax
lea edi, [esp + 0x40]
stosd dword es:[edi], eax
lea ecx, [esp + 0x40]
push 3
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
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 [0x10066528]
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 [0x10066528]
call dword [edi + 0xc]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1003be9c
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x10066528]
call edi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1003bf02
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x10066528]
call edi
jmp 0x1003bf02
mov eax, dword [esp + 0x1c]
and dword [esp + 0x40], 0
mov ecx, dword [eax + 0x1c4]
test ecx, ecx
je 0x1003bf02
lea edx, [esp + 0x40]
call fcn.10037961
mov esi, dword [esp + 0x40]
test eax, eax
js 0x1003beea
mov eax, dword [esi]
push esi
mov edi, dword [eax + 0x1c]
mov ecx, edi
call dword [0x10066528]
call edi
test esi, esi
je 0x1003befe
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x10066528]
call esi
mov esi, dword [esp + 0x54]
cmp byte [esp + 0x2d], 0
je 0x1003bf12
test ebx, ebx
js 0x1003bf12
mov ebx, 0x80040208
test byte [0x10065540], 1
je 0x1003bf25
mov edx, 0x1000ea58
call fcn.1003ce04
push dword [esp + 0x3c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x58]
call fcn.10019673
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1003bf50
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x10066528]
call edi
lea ecx, [esp + 0x38]
call fcn.10028fd6
test esi, esi
je 0x1003bf6d
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x10066528]
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1003bf85
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x10066528]
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.1001f1e0
mov esp, ebp
pop ebp
ret 4