Function at 0x10003be0
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x9c]
sub esp, 0x9c
push 0xffffffffffffffff
push 0x1003f904
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x10059794]
xor eax, ebp
mov dword [ebp + 0x98], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 0xc8]
mov ebx, ecx
mov dword [ebp - 0x74], ebx
xor eax, eax
mov dword [ebp - 4], eax
test byte [0x100599fc], 1
lea edi, [eax + 1]
jne 0x10003c4e
fldz
or dword [0x100599fc], edi
fstp qword [0x100599f0]
mov dword [0x100599f8], eax
fldz
lea ecx, [ebp - 0x78]
fstp qword [ebp - 0x9c]
mov dword [ebp - 0x94], eax
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [ebp - 4], 5
cmp dword [ebp + 0xcc], edi
jne 0x10003c81
cmp word [esi + 0x38], 4
jne 0x10003c81
mov eax, 0x1000
or word [esi + 2], ax
cmp dword [ebx + 0x488], 2
mov ecx, 0x26
lea edi, [ebp]
rep movsd dword es:[edi], dword [esi]
jne 0x10003cac
fld qword [ebx + 0x178]
fadd qword [ebp + 8]
fstp qword [ebp + 8]
fld qword [ebx + 0x178]
fadd qword [ebp + 0x10]
fstp qword [ebp + 0x10]
lea ecx, [ebp + 0xb4]
call fcn.10002960
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebp + 0xcc]
mov edi, dword [ebp + 0xc4]
push ecx
push 1
mov esi, eax
push esi
push edx
lea eax, [ebp]
push eax
push edi
push ecx
mov ecx, dword [ebp + 0xa4]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xa4]
mov dword [ebp - 0x18], esp
test eax, eax
je 0x10003cf2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.1001b350
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebp + 0xcc]
add esp, 0x1c
push ecx
push esi
push edx
push edi
push ecx
mov ecx, dword [ebp + 0xac]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xac]
mov dword [ebp - 0x18], esp
test eax, eax
je 0x10003d27
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, dword [ebp + 0xa8]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xa8]
mov dword [ebp - 0x18], esp
test eax, eax
je 0x10003d47
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, dword [ebp + 0xa4]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0xa4]
mov dword [ebp - 0x18], esp
test eax, eax
je 0x10003d67
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.1002e920
add esp, 0x1c
mov byte [ebp - 4], 6
cmp edi, 1
jne 0x1000640a
mov ecx, dword [ebp + 0xb0]
test ecx, ecx
jne 0x10003d90
push 0x80004003
call fcn.1003e8a0
push 0x100597b0
push 0x100597b0
call fcn.10002580
mov ecx, 8
push str.TransactionNum
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 7
test ecx, ecx
jne 0x10003dcd
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 0x10003dea
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 0x10003e0b
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp + 0xb4]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xb8]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xbc]
mov dword [eax + 8], edx
mov edx, dword [ebp + 0xc0]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10003e4b
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 8
test eax, eax
je 0x10003e5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 7
test eax, eax
je 0x10003e71
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
mov eax, dword [ebx + 0x20]
mov ecx, 3
mov word [ebp - 0x30], cx
mov dword [ebp - 0x28], eax
mov edx, 8
push str.SubTransactionNum
mov byte [ebp - 4], 0xa
mov word [ebp - 0x40], dx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xb
test ecx, ecx
jne 0x10003ebe
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0xc
test ecx, ecx
jne 0x10003edb
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], 0xd
test esi, esi
jne 0x10003efc
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 0x10003f30
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0xc
test eax, eax
je 0x10003f43
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 0x10003f56
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, 3
mov word [ebp - 0x30], dx
mov dword [ebp - 0x28], 1
mov eax, 8
push str.ChannelNum
mov byte [ebp - 4], 0xe
mov word [ebp - 0x40], ax
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xf
test ecx, ecx
jne 0x10003fa4
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x10
test ecx, ecx
jne 0x10003fc1
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 0x10003fe2
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 0x10004016
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x10
test eax, eax
je 0x10004029
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 0x1000403c
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 + 0xcc]
mov edx, 3
mov word [ebp - 0x30], dx
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.SubChannelNum
mov byte [ebp - 4], 0x12
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x13
test ecx, ecx
jne 0x1000408c
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x14
test ecx, ecx
jne 0x100040a9
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 0x100040ca
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 0x100040fe
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x14
test eax, eax
je 0x10004111
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 0x10004124
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
fld qword [ebp + 8]
mov edx, 5
fstp qword [ebp - 0x68]
mov word [ebp - 0x70], dx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x16
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x30]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x10004165
push eax
call fcn.1003e8a0
mov eax, 8
push str.StartTime
mov byte [ebp - 4], 0x17
mov word [ebp - 0x40], ax
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x18
test ecx, ecx
jne 0x10004197
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x19
test ecx, ecx
jne 0x100041b4
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], 0x1a
test esi, esi
jne 0x100041d5
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 0x10004209
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x19
test eax, eax
je 0x1000421c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x18
test eax, eax
je 0x1000422f
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
lea edx, [ebp - 0x70]
push edx
call edi
mov cx, word [ebp + 0x80]
mov eax, 2
mov word [ebp - 0x30], ax
mov word [ebp - 0x28], cx
mov edx, 8
push str.MinReadingFunction
mov byte [ebp - 4], 0x1b
mov word [ebp - 0x40], dx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x1c
test ecx, ecx
jne 0x10004287
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x1d
test ecx, ecx
jne 0x100042a4
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], 0x1e
test esi, esi
jne 0x100042c5
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 0x100042f9
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x1000430c
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 0x1000431f
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 ax, word [ebp + 0x80]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.MaxReadingFunction
mov byte [ebp - 4], 0x1f
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x20
test ecx, ecx
jne 0x10004371
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x21
test ecx, ecx
jne 0x1000438e
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], 0x22
test esi, esi
jne 0x100043af
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 0x100043e3
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x21
test eax, eax
je 0x100043f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x20
test eax, eax
je 0x10004409
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 cx, word [ebp + 0x80]
mov edx, 0x2f
movsx eax, cx
cmp dx, cx
jne 0x1000442e
lea eax, [edx - 0x2e]
jmp 0x1000445b
mov edx, 0x30
cmp dx, cx
jne 0x1000443d
lea eax, [edx - 0x2d]
jmp 0x1000445b
mov edx, 0x31
cmp dx, cx
jne 0x1000444c
lea eax, [edx - 0x23]
jmp 0x1000445b
mov edx, 0x32
cmp dx, cx
jne 0x1000445b
mov eax, 0x11
mov ecx, 3
mov word [ebp - 0x30], cx
mov dword [ebp - 0x28], eax
mov edx, 8
push str.AvgReadingFunction
mov byte [ebp - 4], 0x23
mov word [ebp - 0x40], dx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x24
test ecx, ecx
jne 0x10004499
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x25
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x100044b7
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], 0x26
test esi, esi
jne 0x100044d8
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 0x1000450c
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x1000451e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x24
test eax, eax
je 0x10004531
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 ax, word [ebp + 0x68]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.MinReadingUnitMultiplier
mov byte [ebp - 4], 0x27
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x28
test ecx, ecx
jne 0x10004580
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x29
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1000459e
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], 0x2a
test esi, esi
jne 0x100045bf
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 0x100045f3
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004605
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x28
test eax, eax
je 0x10004618
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 ax, word [ebp + 0x48]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.MaxReadingUnitMultiplier
mov byte [ebp - 4], 0x2b
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x2c
test ecx, ecx
jne 0x10004667
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x2d
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004685
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], 0x2e
test esi, esi
jne 0x100046a6
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 0x100046da
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x100046ec
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x100046ff
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 ax, word [ebp + 0x78]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.AvgReadingUnitMultiplier
mov byte [ebp - 4], 0x2f
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x30
test ecx, ecx
jne 0x1000474e
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 0x1000476b
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], 0x32
test esi, esi
jne 0x1000478c
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 0x100047c0
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x31
test eax, eax
je 0x100047d3
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 0x100047e6
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 ax, word [ebp + 0x6a]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.MinReadingDecimalPlaces
mov byte [ebp - 4], 0x33
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x34
test ecx, ecx
jne 0x10004835
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x35
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004853
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], 0x36
test esi, esi
jne 0x10004874
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 0x100048a8
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x100048ba
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x34
test eax, eax
je 0x100048cd
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 ax, word [ebp + 0x4a]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.MaxReadingDecimalPlaces
mov byte [ebp - 4], 0x37
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x38
test ecx, ecx
jne 0x1000491c
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x39
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1000493a
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], 0x3a
test esi, esi
jne 0x1000495b
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 0x1000498f
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x100049a1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x38
test eax, eax
je 0x100049b4
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 ax, word [ebp + 0x7a]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.AvgReadingDecimalPlaces
mov byte [ebp - 4], 0x3b
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x3c
test ecx, ecx
jne 0x10004a03
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x3d
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004a21
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], 0x3e
test esi, esi
jne 0x10004a42
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 0x10004a76
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004a88
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3c
test eax, eax
je 0x10004a9b
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
mov byte [ebp - 4], 6
call edi
lea eax, [ebp + 0x82]
mov edx, 8
push eax
mov word [ebp - 0x30], dx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.MaxReadingUnitString
mov byte [ebp - 4], 0x3f
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x40
test ecx, ecx
jne 0x10004af5
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x41
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004b13
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], 0x42
test esi, esi
jne 0x10004b34
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 0x10004b68
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004b7a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x40
test eax, eax
je 0x10004b8d
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
mov byte [ebp - 4], 6
call edi
lea eax, [ebp + 0x82]
mov edx, 8
push eax
mov word [ebp - 0x30], dx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.MinReadingUnitString
mov byte [ebp - 4], 0x43
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x44
test ecx, ecx
jne 0x10004be7
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x45
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004c05
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], 0x46
test esi, esi
jne 0x10004c26
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 0x10004c5a
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004c6c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x44
test eax, eax
je 0x10004c7f
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
mov byte [ebp - 4], 6
call edi
lea eax, [ebp + 0x82]
mov edx, 8
push eax
mov word [ebp - 0x30], dx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, 8
push str.AvgReadingUnitString
mov byte [ebp - 4], 0x47
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x48
test ecx, ecx
jne 0x10004cd9
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x49
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004cf7
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], 0x4a
test esi, esi
jne 0x10004d18
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 0x10004d4c
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004d5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x48
test eax, eax
je 0x10004d71
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 ax, word [ebp + 0x38]
mov edx, 2
mov word [ebp - 0x30], dx
mov word [ebp - 0x28], ax
mov ecx, 8
push str.MaxReadingState
mov byte [ebp - 4], 0x4b
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x4c
test ecx, ecx
jne 0x10004dc0
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x4d
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004dde
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], 0x4e
test esi, esi
jne 0x10004dff
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 0x10004e33
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004e45
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x4c
test eax, eax
je 0x10004e58
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 ax, word [ebp + 0x38]
mov edx, dword [ebp + 0xcc]
mov word [edx*2 + 0x100599e8], ax
test ax, ax
jne 0x1000501f
fld qword [ebp + 0x40]
mov eax, 5
fstp qword [ebp - 0x68]
mov word [ebp - 0x70], ax
mov ecx, 8
push str.MaxReadingValue
mov byte [ebp - 4], 0x4f
mov word [ebp - 0x40], cx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x50
test ecx, ecx
jne 0x10004ec0
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x51
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10004ede
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x1c]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x52
test ecx, ecx
jne 0x10004eff
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x70]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x10004f1a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x50
test eax, eax
je 0x10004f2d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x40]
push eax
call edi
lea ecx, [ebp - 0x70]
push ecx
call edi
fld qword [ebp + 0x30]
mov edx, 5
fstp qword [ebp - 0x68]
mov word [ebp - 0x70], dx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x53
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x30]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x10004f6e
mov cx, word [ebp + 0x58]
mov eax, 2
mov word [ebp - 0x30], ax
mov word [ebp - 0x28], cx
mov edx, 8
push str.MinReadingState
mov byte [ebp - 4], 0x58
mov word [ebp - 0x40], dx
call fcn.1003e940
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x59
test ecx, ecx
jne 0x10005062
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 0x10005080
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], 0x5b
test esi, esi
jne 0x100050a1
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 0x100050d5
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
test eax, eax
je 0x100050e7
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 0x100050fa
mov eax, 8
push str.SubTransactionNum
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xb0
test ecx, ecx
jne 0x10006438
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xb1
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006456
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10008cd0
mov ecx, dword [eax]
mov byte [ebp - 4], 0xb2
test ecx, ecx
jne 0x10006477
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x90]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0xb3
call fcn.10002960
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x90]
push ecx
mov edi, eax
call esi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x100064b1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xb0
test eax, eax
je 0x100064c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 6
call esi
mov ecx, 8
push str.SubChannelNum
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xb4
test ecx, ecx
jne 0x100064fc
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xb5
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1000651a
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xb6
test ecx, ecx
jne 0x1000653b
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x90]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0xb7
call fcn.10002960
lea ecx, [ebp - 0x90]
push ecx
mov esi, eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006573
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xb4
test eax, eax
je 0x10006586
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 6
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebx, dword [ebp - 0x74]
cmp edi, dword [ebx + 0x20]
jne 0x100065aa
mov edi, dword [ebp + 0xcc]
cmp esi, edi
je 0x1000671e
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov eax, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xb8
test eax, eax
jne 0x100065cb
push 0x80004003
call fcn.1003e8a0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x98]
push eax
mov esi, eax
call edx
test eax, eax
jge 0x100065e8
push 0x10047c78
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebx + 0x20]
push eax
lea ecx, [ebp - 0x14]
push str.SubTransactionNum___ld
push ecx
call dword [sym.imp.mfc90.dll_Ordinal_2539]
mov edx, 3
xor edi, edi
add esp, 0xc
mov word [ebp - 0x50], dx
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x50]
push eax
push 1
mov bl, 0xb9
push edi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc90.dll_Ordinal_910]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.10002880
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xba
cmp ecx, edi
jne 0x10006645
push 0x80004003
call fcn.1003e8a0
mov byte [ebp - 4], bl
call fcn.10003b00
lea ecx, [ebp - 0x50]
push ecx
mov byte [ebp - 4], 0xb8
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp + 0xb0]
cmp eax, edi
jne 0x1000666f
push 0x80004003
call fcn.1003e8a0
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov esi, eax
mov dword [ebp - 0x1c], edi
call edx
cmp eax, edi
jge 0x10006690
push 0x10047c78
push esi
push eax
call fcn.1003e8c0
cmp word [ebp - 0x1c], di
jne 0x1000670b
mov eax, dword [ebp + 0xcc]
push eax
lea ecx, [ebp - 0x14]
push str.SubChannelNum___ld
push ecx
call dword [sym.imp.mfc90.dll_Ordinal_2539]
mov edx, 3
add esp, 0xc
mov word [ebp - 0x50], dx
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x50]
push eax
push 1
mov bl, 0xbb
push 0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc90.dll_Ordinal_910]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.10002880
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xbc
test ecx, ecx
jne 0x100066f9
push 0x80004003
call fcn.10008cd0
mov byte [ebp - 4], bl
call fcn.10003b00
lea ecx, [ebp - 0x50]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov edi, dword [ebp + 0xcc]
mov eax, 0x10059948
cmp edi, 1
je 0x1000672d
mov eax, 0x100598a8
fld qword [eax + 0x40]
lea edx, [ebp]
fstp qword [ebp - 0x28]
push edx
fld qword [eax + 0x60]
push eax
fstp qword [ebp - 0x80]
mov dword [ebp - 0x14], eax
call fcn.1001afd0
add esp, 8
cmp word [ebp + 0x38], 0
jne 0x10006781
cmp word [ebp + 0x58], 0
jne 0x10006781
fld qword [ebp + 0x10]
fsub qword [ebp + 8]
fld qword [ebp + 0x40]
fsub qword [ebp + 0x60]
fmul st(1)
fadd qword [edi*8 + 0x10059888]
fstp qword [edi*8 + 0x10059888]
fadd qword [edi*8 + 0x10059870]
fstp qword [edi*8 + 0x10059870]
fldz
lea ecx, [edi*8 + 0x10059870]
fld st(0)
fxch st(1)
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x100067a2
fstp st(0)
fld qword [edi*8 + 0x10059888]
fdiv qword [ecx]
mov eax, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], ax
lea ecx, [ebp - 0x70]
push ecx
mov byte [ebp - 4], 0xbd
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x100067d4
push eax
call fcn.1003e8a0
mov ecx, 8
push str.WeightedSpan
mov byte [ebp - 4], 0xbe
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xbf
test ecx, ecx
jne 0x10006806
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xc0
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006824
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], 0xc1
test esi, esi
jne 0x10006845
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x70]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x68]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x64]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006879
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1000688b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xbf
test eax, eax
je 0x1000689e
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 - 0x70]
push ecx
call edi
lea edx, [ebp - 0x60]
push edx
call edi
fld qword [ebp + 0x10]
mov eax, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], ax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0xc2
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x100068eb
push eax
call fcn.1003e8a0
mov ecx, 8
push str.StopTime
mov byte [ebp - 4], 0xc3
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xc4
test ecx, ecx
jne 0x1000691d
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xc5
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1000693b
push 0x80004003
call fcn.10008cd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov esi, dword [eax]
mov byte [ebp - 4], 0xc6
test esi, esi
jne 0x1000695c
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x40]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006990
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x100069a2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xc4
test eax, eax
je 0x100069b5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x40]
push ecx
call edi
lea edx, [ebp - 0x60]
push edx
call edi
fld qword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
fcomp qword [ecx + 0x40]
fnstsw ax
test ah, 5
jnp 0x100069f1
mov esi, dword [ebp + 0xcc]
mov ax, word [esi + esi + 0x100599e8]
add esi, esi
cmp ax, word [ecx + 0x38]
je 0x10006eb7
fld qword [ecx + 0x40]
mov ecx, 5
fstp qword [ebp - 0x38]
mov word [ebp - 0x40], cx
mov edx, 8
push str.MaxReadingValue
mov byte [ebp - 4], 0xc7
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xc8
test ecx, ecx
jne 0x10006a32
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x20]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xc9
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006a50
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], 0xca
test esi, esi
jne 0x10006a71
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x40]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006aa5
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006ab7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xc8
test eax, eax
je 0x10006aca
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x40]
push ecx
call edi
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 0x38]
mov ecx, 2
mov word [ebp - 0x40], cx
mov word [ebp - 0x38], ax
mov edx, 8
push str.MaxReadingState
mov byte [ebp - 4], 0xcb
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xcc
test ecx, ecx
jne 0x10006b1c
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x20]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xcd
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006b3a
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], 0xce
test esi, esi
jne 0x10006b5b
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x40]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006b8f
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006ba1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xcc
test eax, eax
je 0x10006bb4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x40]
push ecx
call edi
mov ax, word [ebp + 0x4a]
mov edx, 2
mov word [ebp - 0x40], dx
mov word [ebp - 0x38], ax
mov ecx, 8
push str.MaxReadingDecimalPlaces
mov byte [ebp - 4], 0xcf
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xd0
test ecx, ecx
jne 0x10006c03
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xd1
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006c21
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], 0xd2
test esi, esi
jne 0x10006c42
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x40]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006c76
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006c88
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xd0
test eax, eax
je 0x10006c9b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x40]
push ecx
call edi
mov ax, word [ebp + 0x48]
mov edx, 2
mov word [ebp - 0x40], dx
mov word [ebp - 0x38], ax
mov ecx, 8
push str.MaxReadingUnitMultiplier
mov byte [ebp - 4], 0xd3
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xd4
test ecx, ecx
jne 0x10006cea
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xd5
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006d08
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], 0xd6
test esi, esi
jne 0x10006d29
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x40]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006d5d
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006d6f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xd4
test eax, eax
je 0x10006d82
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x40]
push ecx
call edi
fld qword [ebp + 0x30]
mov edx, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], dx
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 0xd7
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x10006dc3
push eax
call fcn.1003e8a0
mov eax, 8
push str.MaxReadingTimeStamp
mov byte [ebp - 4], 0xd8
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xd9
test ecx, ecx
jne 0x10006df5
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xda
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006e13
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], 0xdb
test esi, esi
jne 0x10006e34
push 0x80004003
call fcn.1003e8a0
mov edx, dword [ebp - 0x70]
mov ecx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x68]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x64]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x38]
push esi
call eax
test eax, eax
jge 0x10006e68
push 0x10047c68
push esi
push eax
call fcn.1003e8c0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006e7a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xd9
test eax, eax
je 0x10006e8d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x70]
push ecx
call edi
lea edx, [ebp - 0x60]
push edx
call edi
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp + 0xcc]
mov cx, word [eax + 0x38]
add esi, esi
mov word [esi + 0x100599e8], cx
mov ecx, eax
fld qword [ebp - 0x80]
fcomp qword [ecx + 0x60]
fnstsw ax
test ah, 0x41
je 0x10006ed5
mov dx, word [esi + 0x100599e0]
cmp dx, word [ecx + 0x58]
je 0x100072af
fld qword [ecx + 0x60]
mov eax, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], ax
mov ecx, 8
push str.MinReadingValue
mov byte [ebp - 4], 0xdc
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xdd
test ecx, ecx
jne 0x10006f16
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xde
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006f34
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xdf
test ecx, ecx
jne 0x10006f55
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10006f70
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xdd
test eax, eax
je 0x10006f83
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 0x58]
mov ecx, 2
mov word [ebp - 0x60], cx
mov word [ebp - 0x58], ax
mov edx, 8
push str.MinReadingState
mov byte [ebp - 4], 0xe0
mov word [ebp - 0x50], dx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xe1
test ecx, ecx
jne 0x10006fd5
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x20]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xe2
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10006ff3
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xe3
test ecx, ecx
jne 0x10007014
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x60]
push edx
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1000702f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xe1
test eax, eax
je 0x10007042
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
mov ax, word [ebp + 0x6a]
mov edx, 2
mov word [ebp - 0x60], dx
mov word [ebp - 0x58], ax
mov ecx, 8
push str.MinReadingDecimalPlaces
mov byte [ebp - 4], 0xe4
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xe5
test ecx, ecx
jne 0x10007091
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xe6
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x100070af
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xe7
test ecx, ecx
jne 0x100070d0
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x100070eb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xe5
test eax, eax
je 0x100070fe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
mov ax, word [ebp + 0x68]
mov edx, 2
mov word [ebp - 0x60], dx
mov word [ebp - 0x58], ax
mov ecx, 8
push str.MinReadingUnitMultiplier
mov byte [ebp - 4], 0xe8
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xe9
test ecx, ecx
jne 0x1000714d
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xea
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1000716b
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xeb
test ecx, ecx
jne 0x1000718c
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x100071a7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xe9
test eax, eax
je 0x100071ba
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
fld qword [ebp + 0x50]
mov edx, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], dx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xec
call fcn.100023b0
mov ecx, 8
push str.MinReadingTimeStamp
mov byte [ebp - 4], 0xed
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xee
test ecx, ecx
jne 0x1000721a
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xef
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10007238
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xf0
test ecx, ecx
jne 0x10007259
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x90]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10007277
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xee
test eax, eax
je 0x1000728a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x90]
push ecx
call edi
lea edx, [ebp - 0x60]
push edx
call edi
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 0x58]
mov word [esi + 0x100599e0], cx
mov ecx, eax
fld qword [ecx + 0x70]
mov edx, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], dx
mov eax, 8
push str.AvgReadingValue
mov byte [ebp - 4], 0xf1
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xf2
test ecx, ecx
jne 0x100072f0
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xf3
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1000730e
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xf4
test ecx, ecx
jne 0x1000732f
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1000734a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xf2
test eax, eax
je 0x1000735d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
mov esi, dword [ebp - 0x14]
movzx eax, word [esi + 0x6c]
mov edx, 2
mov word [ebp - 0x60], dx
mov word [ebp - 0x58], ax
mov eax, 8
push str.AvgReadingState
mov byte [ebp - 4], 0xf5
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xf6
test ecx, ecx
jne 0x100073af
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xf7
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x100073cd
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xf8
test ecx, ecx
jne 0x100073ee
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x10007409
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xf6
test eax, eax
je 0x1000741c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
movzx eax, word [esi + 0x7a]
mov edx, 2
mov word [ebp - 0x60], dx
mov word [ebp - 0x58], ax
mov eax, 8
push str.AvgReadingDecimalPlaces
mov byte [ebp - 4], 0xf9
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xfa
test ecx, ecx
jne 0x1000746b
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xfb
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10007489
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xfc
test ecx, ecx
jne 0x100074aa
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x100074c5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xfa
test eax, eax
je 0x100074d8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x60]
push ecx
call edi
movzx eax, word [esi + 0x78]
mov edx, 2
mov word [ebp - 0x60], dx
mov word [ebp - 0x58], ax
mov eax, 8
push str.AvgReadingUnitMultiplier
mov byte [ebp - 4], 0xfd
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xfe
test ecx, ecx
jne 0x10007527
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov ebx, 0xff
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x10007548
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov dword [ebp - 4], 0x100
test ecx, ecx
jne 0x1000756c
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], ebx
test eax, eax
je 0x10007587
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xfe
test eax, eax
je 0x1000759a
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 - 0x60]
push ecx
call esi
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [ebp - 0x74]
cmp dword [0x100598a0], 0
mov cl, byte [ebp + 2]
mov esi, 1
jne 0x100078a3
test cl, 0x81
je 0x100078a3
fld qword [ebp + 0x10]
sub esp, 8
fsub qword [0x100599f0]
lea ecx, [ebp - 0x9c]
mov dword [0x100598a0], esi
fstp qword [esp]
call fcn.100027d0
fld qword [ebp - 0x9c]
mov edx, 5
fstp qword [ebp - 0x58]
mov word [ebp - 0x60], dx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0x101
call fcn.100023b0
mov ecx, 8
push 0x10047de4
mov byte [ebp - 4], 2
mov word [ebp - 0x50], cx
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 3
test ecx, ecx
jne 0x1000764d
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 4
test ecx, ecx
jne 0x1000766a
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 5
test ecx, ecx
jne 0x1000768b
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x90]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 4
test eax, eax
je 0x100076aa
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 3
test eax, eax
je 0x100076bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call ebx
lea ecx, [ebp - 0x90]
push ecx
call ebx
lea edx, [ebp - 0x60]
push edx
mov dword [ebp - 4], 6
call ebx
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x9c]
push 0
push ecx
call sub.fvcommn3.dll_void___cdecl_GetDurationString_class_ATL::COleDateTimeSpan_const___long_int__class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char_____
add esp, 0xc
lea ecx, [ebp - 0x78]
call dword [sym.imp.mfc90.dll_Ordinal_910]
mov edx, 8
push eax
mov word [ebp - 0x60], dx
call fcn.1003e940
mov dword [ebp - 0x58], eax
mov eax, 8
push str.IntervalText
mov dword [ebp - 4], 0x106
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 7
test ecx, ecx
jne 0x1000773e
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 8
test ecx, ecx
jne 0x1000775b
cmp dword [ebp + 0xcc], esi
jne 0x1000794b
mov edx, dword [ebp + 2]
test cl, 2
je 0x100078d8
and edx, esi
je 0x100078c1
add dword [edi + 0x1288], esi
add dword [edi + 0x128c], esi
cmp dword [0x10059940], 0
mov eax, dword [edi + 0x128c]
je 0x1000790f
jmp 0x10007908
and edx, esi
je 0x100078ee
test cl, cl
js 0x100078e6
mov dword [0x10059940], esi
add dword [edi + 0x1288], esi
jmp 0x10007919
add dword [edi + 0x128c], esi
cmp dword [0x10059940], 0
mov eax, dword [edi + 0x128c]
je 0x1000790f
test cl, 4
jne 0x1000790f
inc eax
mov dword [edi + 0x128c], eax
mov dword [0x10059940], 0
test cl, cl
jns 0x1000794b
test dx, dx
je 0x10007945
add dword [edi + 0x128c], esi
cmp dword [0x10059940], 0
mov eax, dword [edi + 0x128c]
je 0x1000794b
test cl, 4
jne 0x1000794b
add dword [edi + 0x1288], esi
mov eax, dword [edi + 0x1288]
mov edx, 3
mov word [ebp - 0x60], dx
mov dword [ebp - 0x58], eax
mov eax, 8
push str.NumberOfIntervalEvents
mov dword [ebp - 4], 0x10e
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xf
test ecx, ecx
jne 0x10007992
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x10
test ecx, ecx
jne 0x100079af
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x11
test ecx, ecx
jne 0x100079d0
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x60]
push eax
call fcn.10002500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x10
test eax, eax
je 0x100079ec
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xf
test eax, eax
je 0x100079ff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x50]
push eax
call ebx
lea ecx, [ebp - 0x60]
push ecx
call ebx
mov eax, dword [edi + 0x128c]
mov edx, 3
mov word [ebp - 0x60], dx
mov dword [ebp - 0x58], eax
mov eax, 8
push str.NumberOfInputEvents
mov dword [ebp - 4], 0x112
mov word [ebp - 0x50], ax
call fcn.1003e940
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xb0]
mov byte [ebp - 4], 0x13
test ecx, ecx
jne 0x10007a52
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x20]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov byte [ebp - 4], 0x14
test ecx, ecx
jne 0x10007a6f