Function at 0x1001b350
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041770
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push esi
push edi
mov eax, dword [0x10059794]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
cmp dword [ebp + 0x1c], 0
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
je 0x1001b3ac
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x1001b39d
push 0x80004003
call fcn.1003e8a0
push 0x100597b0
push 0x100597b0
call fcn.10002580
mov eax, 3
mov word [ebp - 0x30], ax
mov dword [ebp - 0x28], 1
mov ecx, 8
push str.ChannelNum
mov byte [ebp - 4], 2
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 3
test ecx, ecx
jne 0x1001b3eb
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 4
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b409
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 5
test esi, esi
jne 0x1001b42a
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b45e
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b470
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 3
test eax, eax
je 0x1001b483
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x40]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov eax, dword [ebp + 0x14]
mov edx, 3
mov word [ebp - 0x30], dx
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.SubChannelNum
mov byte [ebp - 4], 6
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov bl, 7
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b4d4
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 8
test ecx, ecx
jne 0x1001b4f1
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 9
test esi, esi
jne 0x1001b512
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b546
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], 8
test eax, eax
je 0x1001b559
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b56b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x40]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov eax, dword [ebp + 0xc]
mov edx, 3
mov word [ebp - 0x30], dx
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.ReadingSeqNum
mov byte [ebp - 4], 0xa
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0xb
test ecx, ecx
jne 0x1001b5b5
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xc
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b5d3
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0xd
test esi, esi
jne 0x1001b5f4
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b628
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b63a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1001b64d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x40]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov eax, dword [ebp + 0x18]
mov edx, 3
mov word [ebp - 0x30], dx
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.TransactionNum
mov byte [ebp - 4], 0xe
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0xf
test ecx, ecx
jne 0x1001b697
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x10
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b6b5
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x11
test esi, esi
jne 0x1001b6d6
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b70a
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b71c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1001b72f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x40]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov eax, dword [ebp + 0x20]
mov edx, 3
mov word [ebp - 0x30], dx
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.SubTransactionNum
mov byte [ebp - 4], 0x12
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x13
test ecx, ecx
jne 0x1001b779
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x14
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b797
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x15
test esi, esi
jne 0x1001b7b8
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b7ec
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b7fe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1001b811
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x40]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 2]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push 0x10049af0
mov byte [ebp - 4], 0x16
mov word [ebp - 0x40], dx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x17
test ecx, ecx
jne 0x1001b860
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x18
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b87e
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp + 0x1c]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x19
test esi, esi
jne 0x1001b89f
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b8d3
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b8e5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x17
test eax, eax
je 0x1001b8f8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x40]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
call esi
mov edx, dword [ebp + 0x10]
fld qword [edx + 8]
mov eax, 5
fstp qword [ebp - 0x48]
mov word [ebp - 0x50], ax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x1a
call edi
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1001b944
push eax
call fcn.1003e8a0
mov ecx, 8
push str.EventStartTime
mov byte [ebp - 4], 0x1b
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x1c
test ecx, ecx
jne 0x1001b973
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x1d
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001b991
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x1e
test esi, esi
jne 0x1001b9b2
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001b9e6
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001b9f8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x1001ba0b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x40]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
call esi
lea edx, [ebp - 0x50]
push edx
call esi
mov eax, dword [ebp + 0x10]
fld qword [eax + 0x10]
mov ecx, 5
fstp qword [ebp - 0x38]
mov word [ebp - 0x40], cx
lea edx, [ebp - 0x30]
push edx
mov byte [ebp - 4], 0x1f
call edi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1001ba57
push eax
call fcn.1003e8a0
mov edx, 8
push str.EventStopTime
mov byte [ebp - 4], 0x20
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x21
test ecx, ecx
jne 0x1001ba86
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x22
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001baa4
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp + 0x1c]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x23
test esi, esi
jne 0x1001bac5
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001baf9
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001bb0b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x21
test eax, eax
je 0x1001bb1e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x50]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
call esi
lea edx, [ebp - 0x40]
push edx
call esi
fldz
mov ecx, dword [ebp + 0x10]
fcomp qword [ecx + 0x30]
fnstsw ax
test ah, 5
mov eax, 5
mov word [ebp - 0x40], ax
jp 0x1001bc37
fld qword [ecx + 0x30]
fstp qword [ebp - 0x38]
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x24
call edi
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1001bb7a
push eax
call fcn.1003e8a0
mov ecx, 8
push str.MaxReadingTimeStamp
mov byte [ebp - 4], 0x25
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x26
test ecx, ecx
jne 0x1001bba9
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x27
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001bbc7
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x28
test esi, esi
jne 0x1001bbe8
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001bc1c
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001bc2e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x26
jmp 0x1001bd17
fld qword [ecx + 8]
fstp qword [ebp - 0x38]
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x29
call edi
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1001bc5f
push eax
call fcn.1003e8a0
mov ecx, 8
push str.MaxReadingTimeStamp
mov byte [ebp - 4], 0x2a
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x2b
test ecx, ecx
jne 0x1001bc8e
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x2c
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001bcac
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x2d
test esi, esi
jne 0x1001bccd
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001bd01
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001bd13
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x1001bd26
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x50]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
call esi
lea edx, [ebp - 0x40]
push edx
call esi
fldz
mov ebx, dword [ebp + 0x10]
fcomp qword [ebx + 0x50]
fnstsw ax
test ah, 5
mov eax, 5
mov word [ebp - 0x40], ax
jp 0x1001be66
fld qword [ebx + 0x50]
fstp qword [ebp - 0x38]
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x2e
call edi
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1001bd82
push eax
call fcn.1003e8a0
mov ecx, 8
push str.MinReadingTimeStamp
mov byte [ebp - 4], 0x2f
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x30
test ecx, ecx
jne 0x1001bdb1
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x31
test ecx, ecx
jne 0x1001bdce
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x32
test esi, esi
jne 0x1001bdef
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001be23
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], 0x31
test eax, eax
je 0x1001be36
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x30
test eax, eax
je 0x1001be49
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x50]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
call esi
lea edx, [ebp - 0x40]
push edx
call esi
jmp 0x1001bf70
fld qword [ebx + 8]
fstp qword [ebp - 0x38]
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x33
call edi
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1001be8e
push eax
call fcn.1003e8a0
mov ecx, 8
push str.MinReadingTimeStamp
mov byte [ebp - 4], 0x34
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x35
test ecx, ecx
jne 0x1001bebd
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x36
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001bedb
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp + 0x1c]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x37
test esi, esi
jne 0x1001befc
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001bf30
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001bf42
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x35
test eax, eax
je 0x1001bf55
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x50]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
call esi
lea edx, [ebp - 0x40]
push edx
call esi
mov ebx, dword [ebp + 0x10]
movzx eax, word [ebx + 0x80]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.MinReadingFunction
mov byte [ebp - 4], 0x38
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x39
test ecx, ecx
jne 0x1001bfb3
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x3a
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001bfd1
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp + 0x1c]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x3b
test esi, esi
jne 0x1001bff2
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c026
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c038
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x39
test eax, eax
je 0x1001c04b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x80]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.MaxReadingFunction
mov byte [ebp - 4], 0x3c
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x3d
test ecx, ecx
jne 0x1001c0a3
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x3e
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c0c1
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp + 0x1c]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x3f
test esi, esi
jne 0x1001c0e2
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c116
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp + 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c128
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x1001c13b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x80]
movsx ecx, ax
mov edx, 0x2f
mov dword [ebp + 0x1c], ecx
cmp dx, ax
jne 0x1001c166
lea ecx, [edx - 0x2e]
jmp 0x1001c193
mov edx, 0x30
cmp dx, ax
jne 0x1001c175
lea ecx, [edx - 0x2d]
jmp 0x1001c193
mov edx, 0x31
cmp dx, ax
jne 0x1001c184
lea ecx, [edx - 0x23]
jmp 0x1001c193
mov edx, 0x32
cmp dx, ax
jne 0x1001c196
mov ecx, 0x11
mov dword [ebp + 0x1c], ecx
mov eax, 3
mov word [ebp - 0x30], ax
mov dword [ebp - 0x28], ecx
mov ecx, 8
push str.AvgReadingFunction
mov byte [ebp - 4], 0x40
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x41
test ecx, ecx
jne 0x1001c1d1
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x18]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x42
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c1ef
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x14]
push edx
call fcn.10008cd0
mov esi, dword [eax]
mov byte [ebp - 4], 0x43
test esi, esi
jne 0x1001c210
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c244
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c256
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x41
test eax, eax
je 0x1001c269
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x68]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.MinUnitMultiplier
mov byte [ebp - 4], 0x44
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x45
test ecx, ecx
jne 0x1001c2b8
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x46
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c2d6
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x47
test esi, esi
jne 0x1001c2f7
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c32b
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c33d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x45
test eax, eax
je 0x1001c350
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x48]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.MaxUnitMultiplier
mov byte [ebp - 4], 0x48
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x49
test ecx, ecx
jne 0x1001c39f
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x4a
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c3bd
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x4b
test esi, esi
jne 0x1001c3de
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c412
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c424
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x49
test eax, eax
je 0x1001c437
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x78]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.AvgUnitMultiplier
mov byte [ebp - 4], 0x4c
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x4d
test ecx, ecx
jne 0x1001c486
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x4e
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c4a4
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x4f
test esi, esi
jne 0x1001c4c5
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c4f9
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c50b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x4d
test eax, eax
je 0x1001c51e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x6a]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.MinDecimalPlaces
mov byte [ebp - 4], 0x50
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x51
test ecx, ecx
jne 0x1001c56d
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x52
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c58b
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x53
test esi, esi
jne 0x1001c5ac
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c5e0
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c5f2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x51
test eax, eax
je 0x1001c605
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x4a]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.MaxDecimalPlaces
mov byte [ebp - 4], 0x54
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x55
test ecx, ecx
jne 0x1001c654
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x56
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c672
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x57
test esi, esi
jne 0x1001c693
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c6c7
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c6d9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x55
test eax, eax
je 0x1001c6ec
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x30]
push ecx
call edi
mov edx, dword [ebp + 0x10]
movzx eax, word [edx + 0x7a]
mov ecx, 2
mov word [ebp - 0x30], cx
mov word [ebp - 0x28], ax
mov edx, 8
push str.AvgDecimalPlaces
mov byte [ebp - 4], 0x58
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x59
test ecx, ecx
jne 0x1001c73b
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x5a
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c759
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x5b
test esi, esi
jne 0x1001c77a
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c7ae
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1001c7c0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x59
test eax, eax
je 0x1001c7d3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x50]
push eax
call esi
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 1
call esi
mov edi, dword [ebp + 0x10]
mov edx, 8
add edi, 0x82
push edi
mov word [ebp - 0x30], dx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov eax, 8
push str.MaxUnitString
mov byte [ebp - 4], 0x5c
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x5d
test ecx, ecx
jne 0x1001c833
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x5e
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1001c851
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0x5f
test esi, esi
jne 0x1001c872
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x1001c8a6