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

Disassembly:
push 0xffffffffffffffff
push 0x10174137
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
mov eax, dword [0x10206870]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
fld dword [0x101f69a8]
mov dword [esp + 0x2c], vtable.CClockSet.0
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fstp dword [esp + 0x3c]
mov dword [esp + 0x48], 0
mov eax, dword [edi + 0x460]
test eax, eax
je 0x100e3f7e
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
test eax, eax
je 0x100e3f7e
mov eax, dword [eax + 4]
test eax, eax
je 0x100e3f7e
mov ebx, dword [eax]
test ebx, ebx
je 0x100e3f60
mov edx, dword [ebx]
mov eax, dword [edx + 0x70]
push edi
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x2c]
push edi
mov ecx, ebx
call eax
mov esi, eax
cmp esi, dword [edi + 0x510]
jle 0x100e3aa2
mov ecx, dword [edi + 0x50c]
test ecx, ecx
je 0x100e3a40
cmp dword [ecx - 4], 0
lea eax, [ecx - 4]
je 0x100e3a2d
mov edx, dword [ecx]
mov eax, dword [edx]
push 3
call eax
jmp 0x100e3a36
push eax
call fcn.1003e211
add esp, 4
mov dword [edi + 0x50c], 0
mov dword [edi + 0x510], esi
inc esi
xor ecx, ecx
mov eax, esi
mov edx, 0x6c
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1003de3e
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x48], 1
test eax, eax
je 0x100e3a95
push 0x100e38b0
push 0x100e38d0
push esi
lea ebp, [eax + 4]
push 0x6c
push ebp
mov dword [eax], esi
call fcn.1003e6a2
jmp 0x100e3a97
xor ebp, ebp
mov byte [esp + 0x48], 0
mov dword [edi + 0x50c], ebp
cmp dword [edi + 0x510], 1
jle 0x100e3abb
mov edx, dword [ebx]
mov eax, dword [edx + 0x34]
push edi
mov ecx, ebx
call eax
mov dword [edi + 0x514], eax
mov eax, dword [edi + 0x510]
fld dword [0x101f69a8]
imul eax, eax, 0x6c
add eax, dword [edi + 0x50c]
xor ebp, ebp
mov byte [eax + 4], 0
fst dword [eax + 0x48]
fst dword [eax + 0x4c]
fst dword [eax + 0x50]
fst dword [eax + 0x54]
fst dword [eax + 0x5c]
fst dword [eax + 0x60]
fst dword [eax + 0x64]
fstp dword [eax + 0x68]
cmp dword [edi + 0x510], ebp
jle 0x100e3b8a
fldz
xor esi, esi
mov ecx, dword [edi + 0x50c]
fcom dword [ecx + esi + 0x48]
fnstsw ax
test ah, 0x41
jne 0x100e3b78
mov edx, dword [ebx]
fstp st(0)
mov edx, dword [edx + 0x44]
lea eax, [esp + 0x2c]
push eax
push ebp
push edi
mov ecx, ebx
call edx
fldz
test eax, eax
je 0x100e3b78
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3b40
mov eax, dword [edi + 0x50c]
fstp dword [eax + esi + 0x48]
jmp 0x100e3b42
fstp st(0)
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3b5b
mov ecx, dword [edi + 0x50c]
fstp dword [ecx + esi + 0x4c]
jmp 0x100e3b5d
fstp st(0)
fld dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3b76
mov edx, dword [edi + 0x50c]
fstp dword [edx + esi + 0x50]
jmp 0x100e3b78
fstp st(0)
inc ebp
add esi, 0x6c
cmp ebp, dword [edi + 0x510]
jl 0x100e3afe
fstp st(0)
xor esi, esi
mov eax, edi
call fcn.100e4700
test eax, eax
jne 0x100e3c78
mov eax, dword [ebx]
mov edx, dword [eax + 0x44]
lea ecx, [esp + 0x2c]
push ecx
push 0xffffffffffffffff
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x100e3d18
mov eax, dword [edi + 0x50c]
test eax, eax
je 0x100e3d18
mov ecx, dword [edi + 0x510]
imul ecx, ecx, 0x6c
push str.Current
lea edx, [ecx + eax + 4]
push 0x40
push edx
call fcn.1013b440
add esp, 0xc
fldz
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3c03
mov eax, dword [edi + 0x510]
mov ecx, dword [edi + 0x50c]
imul eax, eax, 0x6c
fstp dword [eax + ecx + 0x48]
jmp 0x100e3c05
fstp st(0)
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3c27
mov edx, dword [edi + 0x510]
mov eax, dword [edi + 0x50c]
imul edx, edx, 0x6c
fstp dword [edx + eax + 0x4c]
jmp 0x100e3c29
fstp st(0)
fld dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3c4b
mov ecx, dword [edi + 0x510]
mov edx, dword [edi + 0x50c]
imul ecx, ecx, 0x6c
fstp dword [ecx + edx + 0x50]
jmp 0x100e3c4d
fstp st(0)
fld dword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100e3d16
mov eax, dword [edi + 0x510]
mov ecx, dword [edi + 0x50c]
imul eax, eax, 0x6c
fstp dword [eax + ecx + 0x54]
jmp 0x100e3d18
mov ecx, dword [edi + 0x50c]
test ecx, ecx
je 0x100e3d18
mov edx, dword [edi + 0x510]
fld dword [eax + 0x158]
imul edx, edx, 0x6c
mov esi, 1
mov eax, edi
fstp dword [edx + ecx + 0x48]
call fcn.100e4700
test eax, eax
je 0x100e3cc2
mov ecx, dword [edi + 0x510]
fld dword [eax + 0x158]
mov edx, dword [edi + 0x50c]
imul ecx, ecx, 0x6c
fstp dword [ecx + edx + 0x4c]
mov esi, 2
mov eax, edi
call fcn.100e4700
test eax, eax
je 0x100e3ceb
mov ecx, dword [edi + 0x510]
fld dword [eax + 0x158]
mov edx, dword [edi + 0x50c]
imul ecx, ecx, 0x6c
fstp dword [ecx + edx + 0x50]
mov esi, 3
mov eax, edi
call fcn.100e4700
test eax, eax
je 0x100e3d18
mov ecx, dword [edi + 0x510]
fld dword [eax + 0x158]
mov edx, dword [edi + 0x50c]
imul ecx, ecx, 0x6c
fstp dword [ecx + edx + 0x54]
jmp 0x100e3d18
fstp st(0)
cmp dword [edi + 0x50c], 0
je 0x100e3d52
xor esi, esi
cmp dword [edi + 0x510], esi
jle 0x100e3d52
xor ebp, ebp
lea ecx, [ecx]
mov ecx, dword [edi + 0x50c]
mov eax, dword [ebx]
mov eax, dword [eax + 0x30]
lea edx, [ecx + ebp + 4]
push edx
push esi
push edi
mov ecx, ebx
call eax
inc esi
add ebp, 0x6c
cmp esi, dword [edi + 0x510]
jl 0x100e3d30
or ebp, 0xffffffff
cmp dword [edi + 0x47c], ebp
jne 0x100e3d7e
mov edx, dword [ebx]
mov edx, dword [edx + 0x78]
lea eax, [esp + 0x20]
push eax
push edi
mov ecx, ebx
mov dword [esp + 0x28], ebp
call edx
test eax, eax
je 0x100e3d7e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x47c], eax
cmp dword [edi + 0x480], ebp
jne 0x100e3da7
mov edx, dword [ebx]
mov edx, dword [edx + 0x74]
lea eax, [esp + 0x20]
push eax
push edi
mov ecx, ebx
mov dword [esp + 0x28], ebp
call edx
test eax, eax
je 0x100e3da7
mov eax, dword [esp + 0x20]
mov dword [edi + 0x480], eax
cmp byte [edi + 0x484], 0
lea esi, [edi + 0x484]
jne case.default.0x100e3ddf
mov edx, dword [ebx]
mov edx, dword [edx + 0x7c]
lea eax, [esp + 0x20]
push eax
push edi
mov ecx, ebx
mov dword [esp + 0x28], 0
call edx
test eax, eax
je case.default.0x100e3ddf
mov eax, dword [esp + 0x20]
dec eax
cmp eax, 9
ja case.default.0x100e3ddf
jmp dword [eax*4 + 0x100e3ff8]
push 0x101ca0a0
jmp 0x100e3e2a
push str.Qimonda
jmp 0x100e3e2a
push str.Elpida
jmp 0x100e3e2a
push str.Etron
jmp 0x100e3e2a
push str.Nanya
jmp 0x100e3e2a
push str.Hynix
jmp 0x100e3e2a
push str.Mosel
jmp 0x100e3e2a
push str.Winbond
jmp 0x100e3e2a
push str.ESMT
jmp 0x100e3e2a
push str.Micron
push 0x80
push esi
call fcn.1003dc98
add esp, 0xc
cmp dword [edi + 0x504], ebp
jne 0x100e3e64
mov eax, dword [ebx]
mov edx, dword [eax + 0x80]
lea ecx, [esp + 0x20]
push ecx
push edi
mov ecx, ebx
mov dword [esp + 0x28], ebp
call edx
test eax, eax
je 0x100e3e64
mov eax, dword [esp + 0x20]
mov dword [edi + 0x504], eax
fld dword [0x101f69a8]
lea eax, [esp + 0x1c]
push eax
fst dword [esp + 0x18]
lea ecx, [esp + 0x1c]
fst dword [esp + 0x1c]
push ecx
fstp dword [esp + 0x24]
mov edx, dword [ebx]
mov edx, dword [edx + 0x88]
lea eax, [esp + 0x1c]
push eax
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x100e3ee5
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3ead
fstp dword [edi + 0x3b4]
jmp 0x100e3eaf
fstp st(0)
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3eca
fst dword [edi + 0x3b8]
fstp dword [edi + 0x3b0]
jmp 0x100e3ecc
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100e3ee3
fstp dword [edi + 0x3b8]
jmp 0x100e3ee5
fstp st(0)
fld dword [0x101f69a8]
lea ecx, [esp + 0x1c]
push ecx
fst dword [esp + 0x18]
lea edx, [esp + 0x1c]
fst dword [esp + 0x1c]
push edx
fstp dword [esp + 0x24]
mov eax, dword [ebx]
mov edx, dword [eax + 0x8c]
lea ecx, [esp + 0x1c]
push ecx
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x100e3f60
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3f2e
fstp dword [edi + 0x3bc]
jmp 0x100e3f30
fstp st(0)
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100e3f45
fstp dword [edi + 0x3c0]
jmp 0x100e3f47
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100e3f5e
fstp dword [edi + 0x3c4]
jmp 0x100e3f60
fstp st(0)
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100e3f7e
mov eax, dword [eax + 8]
test eax, eax
je 0x100e3f7e
mov dword [esp + 0x28], eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x100e39e4
or eax, 0xffffffff
cmp dword [edi + 0x47c], eax
jne 0x100e3fe3
push 0x10c
mov dword [esp + 0x24], eax
call fcn.1003ddbb
xor esi, esi
add esp, 4
cmp eax, esi
je 0x100e3fbc
mov dword [eax + 0x108], esi
mov dword [eax], vtable.CDisplayAPI.0
mov byte [eax + 4], 0
mov dword [eax + 0x104], 0x10000
mov esi, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
lea ecx, [esp + 0x20]
push ecx
push edi
mov ecx, esi
call edx
test eax, eax
je 0x100e3fd9
mov eax, dword [esp + 0x20]
mov dword [edi + 0x47c], eax
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret