Function at 0x1002bbe0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10044fa0
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
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 4], edi
mov byte [ebp - 4], 1
cmp eax, edi
jne 0x1002bc25
push 0x80004003
call fcn.1003e8a0
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov esi, eax
push eax
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x14], edi
call eax
cmp eax, edi
jge 0x1002bc46
push 0x10047c78
push esi
push eax
call fcn.1003e8c0
cmp dword [ebp - 0x14], edi
jg 0x1002bc55
mov eax, dword [ebp + 8]
cmp eax, edi
jmp 0x1002d285
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, 8
push str.EventStartTime
mov byte [ebp - 4], 2
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 3
cmp ecx, edi
jne 0x1002bc8e
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
cmp ecx, edi
jne 0x1002bcac
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 5
cmp ecx, edi
jne 0x1002bccd
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 6
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, edi
jge 0x1002bcef
push eax
call fcn.1003e8a0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002bd0d
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 0x1002bd20
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
fldz
lea ecx, [ebp - 0x40]
fstp qword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1001b280
fld qword [ebp - 0x2c]
mov esi, dword [ebp + 0xc]
fst qword [esi + 0x50]
mov edx, 1
fst qword [esi + 0x30]
mov eax, 8
fst qword [esi + 0x28]
push str.EventStopTime
fstp qword [esi + 8]
mov word [esi + 0x20], dx
mov word [ebp - 0x30], ax
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov bl, 7
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002bd82
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 0x1002bd9f
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 9
test ecx, ecx
jne 0x1002bdc0
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0xa
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002bde2
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 8
test eax, eax
je 0x1002bdfb
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 0x1002be0d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
fldz
lea ecx, [ebp - 0x40]
fstp qword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1001b280
fld qword [ebp - 0x2c]
mov edx, 8
fstp qword [esi + 0x10]
push str.ReadingState
mov word [ebp - 0x30], dx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0xb
test ecx, ecx
jne 0x1002be59
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x14]
push eax
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0xc
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002be77
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0xd
test ecx, ecx
jne 0x1002be98
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call fcn.100024a0
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0xe
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002beba
push eax
call fcn.1003e8a0
lea ecx, [ebp - 0x50]
push ecx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002bed2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1002bee5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002bf05
lea ecx, [ebp - 0x40]
call fcn.1000b7d0
movzx eax, ax
mov word [esi + 0x20], ax
mov ecx, 8
push str.ReadingValue
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0xf
test ecx, ecx
jne 0x1002bf30
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 0x1002bf4e
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x11
test ecx, ecx
jne 0x1002bf6f
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x12
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002bf91
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002bfa9
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 0x1002bfbc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002bfd8
lea ecx, [ebp - 0x40]
call fcn.1000b880
fstp qword [esi + 0x18]
mov ecx, 8
push str.ReadingTimestamp
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov bl, 0x13
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c004
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 0x1002c021
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x15
test ecx, ecx
jne 0x1002c042
push 0x80004003
call fcn.10008cd0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x16
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002c064
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1002c07d
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 0x1002c08f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002c0ab
lea ecx, [ebp - 0x40]
call fcn.1000b880
fstp qword [esi + 0x28]
mov ecx, 8
push str.MaxReadingFunction
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x17
test ecx, ecx
jne 0x1002c0d6
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x18
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c0f4
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x19
test ecx, ecx
jne 0x1002c115
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x80], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c14b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x17
test eax, eax
je 0x1002c15e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.MaxDecimalPlaces
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x1b
test ecx, ecx
jne 0x1002c193
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x1c
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c1b1
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x1d
test ecx, ecx
jne 0x1002c1d2
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x4a], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c205
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x1002c218
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.MaxUnitMultiplier
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x1f
test ecx, ecx
jne 0x1002c24d
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x20
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c26b
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x21
test ecx, ecx
jne 0x1002c28c
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x48], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c2bf
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x1002c2d2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.MinDecimalPlaces
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x23
test ecx, ecx
jne 0x1002c307
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x24
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c325
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x25
test ecx, ecx
jne 0x1002c346
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x6a], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c379
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x23
test eax, eax
je 0x1002c38c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.MinUnitMultiplier
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x27
test ecx, ecx
jne 0x1002c3c1
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x28
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c3df
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x29
test ecx, ecx
jne 0x1002c400
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x2a
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x68], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c433
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x27
test eax, eax
je 0x1002c446
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.AvgDecimalPlaces
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x2b
test ecx, ecx
jne 0x1002c47b
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 0x1002c499
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x2d
test ecx, ecx
jne 0x1002c4ba
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x7a], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c4ed
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2b
test eax, eax
je 0x1002c500
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.AvgUnitMultiplier
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x2f
test ecx, ecx
jne 0x1002c535
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x30
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c553
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x31
test ecx, ecx
jne 0x1002c574
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x32
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x78], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c5a7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2f
test eax, eax
je 0x1002c5ba
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.ReadingDecimalPlaces
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x33
test ecx, ecx
jne 0x1002c5ef
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x34
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c60d
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x35
test ecx, ecx
jne 0x1002c62e
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x36
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002c650
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c668
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x33
test eax, eax
je 0x1002c67b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002c6a0
lea ecx, [ebp - 0x40]
call fcn.1000b7d0
movzx eax, ax
mov word [esi + 0x24], ax
jmp 0x1002c75a
mov ecx, 8
push str.MaxDecimalPlaces
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x37
test ecx, ecx
jne 0x1002c6cb
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x38
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c6e9
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x39
test ecx, ecx
jne 0x1002c70a
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x3a
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x24], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c73d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x37
test eax, eax
je 0x1002c750
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.ReadingUnitMultiplier
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x3b
test ecx, ecx
jne 0x1002c785
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x3c
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c7a3
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x3d
test ecx, ecx
jne 0x1002c7c4
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x3e
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002c7e6
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c7fe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3b
test eax, eax
je 0x1002c811
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002c836
lea ecx, [ebp - 0x40]
call fcn.1000b7d0
movzx eax, ax
mov word [esi + 0x22], ax
jmp 0x1002c8f0
mov ecx, 8
push str.MaxUnitMultiplier
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x3f
test ecx, ecx
jne 0x1002c861
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x40
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c87f
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x41
test ecx, ecx
jne 0x1002c8a0
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x42
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x22], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c8d3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3f
test eax, eax
je 0x1002c8e6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.MaxUnitString
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x43
test ecx, ecx
jne 0x1002c91b
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x44
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002c939
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x45
test ecx, ecx
jne 0x1002c95a
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x46
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002c97c
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002c994
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x43
test eax, eax
je 0x1002c9a7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002ca28
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x18]
call fcn.1000ba90
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x47
test eax, eax
je 0x1002c9e6
cmp dword [eax + 4], 0
lea esi, [eax + 4]
jne 0x1002c9e2
mov edx, dword [eax]
push edx
call fcn.1003eac0
mov dword [esi], eax
mov esi, dword [esi]
jmp 0x1002c9e8
xor esi, esi
push esi
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_310]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x82
push 0x14
push eax
call dword [sym.imp.MSVCR90.dll_strcpy_s]
add esp, 0xc
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.10003ab0
mov esi, dword [ebp + 0xc]
mov ecx, 8
push str.MinValue
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x48
test ecx, ecx
jne 0x1002ca53
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 0x1002ca71
push 0x80004003
call fcn.10008cd0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x4a
test ecx, ecx
jne 0x1002ca92
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x4b
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002cab4
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002cacc
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 0x1002cadf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002cafa
lea ecx, [ebp - 0x40]
call fcn.1000b880
jmp 0x1002cafc
fldz
mov ecx, 8
fstp qword [esi + 0x60]
push str.MinReadingState
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x4c
test ecx, ecx
jne 0x1002cb2a
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 0x1002cb48
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x4e
test ecx, ecx
jne 0x1002cb69
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
mov ecx, eax
mov byte [ebp - 4], 0x4f
call fcn.1000b7d0
movzx eax, ax
lea ecx, [ebp - 0x50]
push ecx
mov word [esi + 0x58], ax
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002cb9c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x4c
test eax, eax
je 0x1002cbaf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
mov ecx, 8
push str.MinReadingTimeStamp
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x50
test ecx, ecx
jne 0x1002cbe4
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 0x1002cc02
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x52
test ecx, ecx
jne 0x1002cc23
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x53
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002cc45
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002cc5d
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 0x1002cc70
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002cc8c
lea ecx, [ebp - 0x40]
call fcn.1000b880
fstp qword [esi + 0x50]
mov ecx, 8
push str.MaxValue
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x54
test ecx, ecx
jne 0x1002ccb7
push 0x80004003
call fcn.1003e8a0
lea edx, [ebp - 0x14]
push edx
call fcn.100039d0
mov ecx, dword [eax]
mov bl, 0x55
mov byte [ebp - 4], bl
test ecx, ecx
jne 0x1002ccd5
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.10003950
mov ecx, dword [eax]
mov byte [ebp - 4], 0x56
test ecx, ecx
jne 0x1002ccf6
push 0x80004003
call fcn.1003e8a0
lea eax, [ebp - 0x50]
push eax
call fcn.100024a0
push eax
lea ecx, [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0x57
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jge 0x1002cd18
push eax
call fcn.1003e8a0
lea edx, [ebp - 0x50]
push edx
call edi
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
test eax, eax
je 0x1002cd30
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x54
test eax, eax
je 0x1002cd43
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 2
call edi
cmp word [ebp - 0x40], 1
je 0x1002cd5e
lea ecx, [ebp - 0x40]
call fcn.1000b880
jmp 0x1002cd60
fldz
mov ecx, 8
fstp qword [esi + 0x40]
push str.MaxReadingState
mov word [ebp - 0x30], cx
call fcn.1003e940
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0x58
test ecx, ecx
jne 0x1002cd8e
mov dword [ebp - 4], 0xffffffff
je 0x1002d296
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret