Function at 0x100d3570
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10174b50
mov eax, dword fs:[0]
push eax
sub esp, 0xa58
mov eax, dword [0x10206870]
xor eax, esp
mov dword [esp + 0xa50], eax
push ebx
push esi
push edi
mov eax, dword [0x10206870]
xor eax, esp
push eax
lea eax, [esp + 0xa68]
mov dword fs:[0], eax
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], vtable.CTList_class_CDevice_.0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xa70], ebx
mov eax, dword [edi + 0x108]
lea esi, [edi + 0x410]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], esi
mov dword [esi], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x100d41d8
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
cmp eax, ebx
je 0x100d41d8
mov eax, dword [eax + 0x28]
cmp eax, ebx
je 0x100d3624
push 0x800
push ebx
push 0x101c43d0
call eax
mov dword [edi + 0x10c], eax
cmp eax, ebx
jne 0x100d3635
push 0x101c43dc
jmp 0x100d3629
push 0x101c43e8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x10c], eax
mov eax, dword [edi + 0x10c]
cmp eax, ebx
je 0x100d3989
push 0x101c43f4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebx
je 0x100d3985
push 0x150e828
call esi
add esp, 4
push 0xd22bdd7e
mov dword [edi + 0x438], eax
call esi
add esp, 4
push 0xe5ac921f
mov dword [edi + 0x43c], eax
call esi
add esp, 4
push 0xceee8e9f
mov dword [edi + 0x440], eax
call esi
add esp, 4
push 0x2ddfb66e
mov dword [edi + 0x444], eax
call esi
add esp, 4
push 0x1be0b8e5
mov dword [edi + 0x448], eax
call esi
add esp, 4
push 0x2a0a350f
mov dword [edi + 0x44c], eax
call esi
add esp, 4
push 0xe3640a56
mov dword [edi + 0x450], eax
call esi
add esp, 4
push 0x5f608315
mov dword [edi + 0x454], eax
call esi
add esp, 4
push 0xda141340
mov dword [edi + 0x458], eax
call esi
add esp, 4
push 0x465f9bcf
mov dword [edi + 0x45c], eax
call esi
add esp, 4
push 0x927da4f6
mov dword [edi + 0x460], eax
call esi
add esp, 4
push 0xba94c56e
mov dword [edi + 0x464], eax
call esi
add esp, 4
push 0x60ded2ed
mov dword [edi + 0x468], eax
call esi
add esp, 4
push 0x7f9b368
mov dword [edi + 0x46c], eax
call esi
add esp, 4
push 0xedcf624e
mov dword [edi + 0x470], eax
call esi
add esp, 4
push 0x1ea54a3b
mov dword [edi + 0x474], eax
call esi
add esp, 4
push 0xdcb616c3
mov dword [edi + 0x478], eax
call esi
add esp, 4
push 0x7bcf4ac
mov dword [edi + 0x47c], eax
call esi
add esp, 4
push 0x57f7caac
mov dword [edi + 0x480], eax
call esi
add esp, 4
mov dword [edi + 0x484], eax
push 0x42aea16a
call esi
add esp, 4
push 0x2fde12c5
mov dword [edi + 0x488], eax
call esi
add esp, 4
push 0x409d9841
mov dword [edi + 0x48c], eax
call esi
add esp, 4
push 0x3d358a0c
mov dword [edi + 0x490], eax
call esi
add esp, 4
push 0x22d54523
mov dword [edi + 0x494], eax
call esi
add esp, 4
push 0xfb85b01e
mov dword [edi + 0x498], eax
call esi
add esp, 4
push 0x35aed5e8
mov dword [edi + 0x49c], eax
call esi
add esp, 4
push 0xfdc129fa
mov dword [edi + 0x4a0], eax
call esi
add esp, 4
push 0xc7026a87
mov dword [edi + 0x4a4], eax
call esi
add esp, 4
push 0x63e2f56f
mov dword [edi + 0x4a8], eax
call esi
add esp, 4
push 0xbe17923
mov dword [edi + 0x4ac], eax
call esi
add esp, 4
push 0x86f05d7a
mov dword [edi + 0x4b0], eax
call esi
add esp, 4
push 0x4e2f76a8
mov dword [edi + 0x4b4], eax
call esi
add esp, 4
push 0xae5fbcfe
mov dword [edi + 0x4b8], eax
call esi
add esp, 4
push 0xb6d62591
mov dword [edi + 0x4bc], eax
call esi
add esp, 4
push 0xd988f0f3
mov dword [edi + 0x4c0], eax
call esi
add esp, 4
push 0xd8265d24
mov dword [edi + 0x4c4], eax
call esi
add esp, 4
push 0xd048c3b1
mov dword [edi + 0x4c8], eax
call esi
add esp, 4
push 0x7975c581
mov dword [edi + 0x4cc], eax
call esi
add esp, 4
push 0x17073a3c
mov dword [edi + 0x4d0], eax
call esi
add esp, 4
push 0xafd1b02c
mov dword [edi + 0x4d4], eax
call esi
add esp, 4
push ebx
mov dword [edi + 0x4d8], eax
call esi
add esp, 4
push 0xbc8163d
mov dword [edi + 0x4dc], eax
call esi
add esp, 4
push 0x65fe3aad
mov dword [edi + 0x4e0], eax
call esi
add esp, 4
push 0xfc13ee11
mov dword [edi + 0x4e4], eax
call esi
add esp, 4
push 0x46fbeb03
mov dword [edi + 0x4e8], eax
call esi
add esp, 4
push 0x11104158
mov dword [edi + 0x4ec], eax
call esi
add esp, 4
push 0xdb9ed906
mov dword [edi + 0x4f0], eax
call esi
add esp, 4
push 0x1b4ff3df
mov dword [edi + 0x4f4], eax
call esi
add esp, 4
push 0xc12eb19e
mov dword [edi + 0x4f8], eax
call esi
add esp, 4
push 0xf40238ef
mov dword [edi + 0x4fc], eax
call esi
add esp, 4
mov dword [edi + 0x500], eax
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x438]
cmp eax, ebx
je 0x100d41d8
cmp dword [edi + 0x440], ebx
je 0x100d41d8
cmp dword [edi + 0x444], ebx
je 0x100d41d8
cmp dword [edi + 0x448], ebx
je 0x100d41d8
cmp dword [edi + 0x44c], ebx
je 0x100d41d8
cmp dword [edi + 0x450], ebx
je 0x100d41d8
call eax
cmp eax, ebx
jne 0x100d41be
mov ecx, dword [edi + 0x440]
lea eax, [edi + 0x310]
push esi
push eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x20], eax
call ecx
add esp, 8
cmp eax, ebx
jne 0x100d41be
mov eax, dword [esi]
cmp eax, ebx
jbe 0x100d41be
xor ebx, ebx
mov dword [esp + 0x24], ebx
test eax, eax
jle 0x100d41be
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x60]
push eax
mov eax, dword [esi + ebx*4]
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [edi + 0x448]
lea edx, [esp + 0x28]
push edx
push eax
call ecx
add esp, 0x14
test eax, eax
jne 0x100d41ad
mov ecx, dword [edi + 0x44c]
lea edx, [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esi + ebx*4]
push edx
push eax
call ecx
add esp, 8
test eax, eax
jne 0x100d3a6f
mov edx, dword [esp + 0x48]
mov dword [esp + 0x28], edx
mov ecx, dword [esi + ebx*4]
mov edx, dword [edi + 0x450]
lea eax, [esp + 0x68]
push eax
push ecx
call edx
mov esi, dword [esp + 0x28]
add esp, 8
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ecx, 0x10
push ecx
push eax
mov ecx, esi
call fcn.1007dc90
test eax, eax
jne 0x100d3aba
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x30]
push edx
push eax
push ecx
mov ecx, esi
call fcn.1007dc90
test eax, eax
jle 0x100d3afe
lea edx, [esp + 0x30]
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], 0
call fcn.10001180
mov dword [esp + 0x14], eax
test eax, eax
je 0x100d3afe
lea ecx, [ecx]
mov ecx, eax
call fcn.100e3790
cmp eax, dword [esp + 0x28]
je 0x100d3b2c
lea ecx, [esp + 0x60]
call fcn.10001eb0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100d3ae0
push 0x548
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0xa70], 1
test eax, eax
je 0x100d4012
push eax
call fcn.100e42f0
mov ebx, eax
jmp 0x100d4014
mov eax, dword [esp + 0x14]
push ebx
mov esi, edi
call fcn.100e3830
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + ebx*4]
lea eax, [esp + 0x91c]
push eax
mov eax, dword [edi + 0x444]
push edx
call eax
add esp, 8
test eax, eax
jne 0x100d3c20
mov esi, str.Graphics_Device
lea eax, [esp + 0x91c]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x100d3b87
test cl, cl
je 0x100d3b83
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x100d3b87
add eax, 2
add esi, 2
test cl, cl
jne 0x100d3b67
xor eax, eax
jmp 0x100d3b8c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100d3c20
lea ecx, [esp + 0x91c]
push 0x101c441c
push ecx
call fcn.1003de50
add esp, 8
test eax, eax
jne 0x100d3c03
lea edx, [esp + 0x91c]
push 0x101c4424
push edx
call fcn.1003de50
add esp, 8
test eax, eax
jne 0x100d3c03
lea eax, [esp + 0x91c]
push 0x101c442c
push eax
call fcn.1003de50
add esp, 8
test eax, eax
jne 0x100d3c03
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x91c]
push ecx
push 0x101c4434
add edx, 0x10
push 0x100
push edx
call fcn.1013b440
add esp, 0x10
jmp 0x100d3c20
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x91c]
push eax
add ecx, 0x10
push 0x100
push ecx
call fcn.1003dc98
add esp, 0xc
mov eax, dword [edi + 0x498]
mov esi, dword [esp + 0x18]
test eax, eax
je 0x100d3d01
mov ecx, dword [esi + ebx*4]
lea edx, [esp + 0xc4]
push edx
push ecx
mov dword [esp + 0xcc], 0x30224
call eax
add esp, 8
test eax, eax
je 0x100d3cc8
mov eax, dword [esi + ebx*4]
mov ecx, dword [edi + 0x498]
lea edx, [esp + 0xc4]
push edx
push eax
mov dword [esp + 0xcc], 0x30224
call ecx
add esp, 8
test eax, eax
je 0x100d3cc8
mov eax, dword [esi + ebx*4]
mov ecx, dword [edi + 0x498]
lea edx, [esp + 0xc4]
push edx
push eax
mov dword [esp + 0xcc], 0x2002c
call ecx
add esp, 8
test eax, eax
je 0x100d3cc8
mov eax, dword [esi + ebx*4]
mov ecx, dword [edi + 0x498]
lea edx, [esp + 0xc4]
push edx
push eax
mov dword [esp + 0xcc], 0x10014
call ecx
add esp, 8
test eax, eax
jne 0x100d3d01
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xc8]
push edx
add eax, 0x310
push 0x20
push eax
call fcn.1003dc98
mov edx, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0xd8]
push ecx
add edx, 0x330
push 0x20
push edx
call fcn.1003dc98
add esp, 0xc
mov eax, dword [edi + 0x4a4]
test eax, eax
je 0x100d3d33
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
test eax, eax
jne 0x100d3d33
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x398], eax
mov eax, dword [edi + 0x4a8]
test eax, eax
je 0x100d3d65
mov ecx, dword [esi + ebx*4]
lea edx, [esp + 0x10]
push edx
push ecx
mov dword [esp + 0x18], 0
call eax
add esp, 8
test eax, eax
jne 0x100d3d65
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x39c], edx
mov eax, dword [edi + 0x4ac]
test eax, eax
je 0x100d3d85
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
mov eax, dword [edi + 0x4b0]
test eax, eax
je 0x100d3da5
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
mov eax, dword [edi + 0x4b4]
test eax, eax
je 0x100d3dc5
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
mov eax, dword [edi + 0x4b8]
test eax, eax
je 0x100d3de5
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
mov eax, dword [edi + 0x4bc]
test eax, eax
je 0x100d3e05
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
mov eax, dword [edi + 0x4c0]
test eax, eax
je 0x100d3e25
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call eax
add esp, 8
cmp dword [edi + 0x4d8], 0
je 0x100d3e7b
push 0x50
lea eax, [esp + 0x78]
push 0
push eax
call fcn.1003f7d0
mov edx, dword [esi + ebx*4]
add esp, 0xc
lea ecx, [esp + 0x74]
push ecx
push edx
mov dword [esp + 0x7c], 0x20050
call dword [edi + 0x4d8]
add esp, 8
test eax, eax
jne 0x100d3e7b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [eax + 0x3a8], ecx
mov dword [eax + 0x3a4], edx
cmp dword [edi + 0x49c], 0
je 0x100d3ebb
push 0x62c
lea eax, [esp + 0x2f0]
push 0
push eax
call fcn.1003f7d0
mov edx, dword [esi + ebx*4]
add esp, 0xc
lea ecx, [esp + 0x2ec]
push ecx
push edx
mov dword [esp + 0x2f4], 0x1062c
call dword [edi + 0x49c]
add esp, 8
mov eax, dword [edi + 0x4c4]
test eax, eax
je 0x100d3ef7
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0xa1c]
push ecx
push edx
call eax
add esp, 8
test eax, eax
jne 0x100d3ef7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xa1c]
push eax
add ecx, 0x370
push 0x10
push ecx
call fcn.1003dc98
add esp, 0xc
mov ecx, dword [edi + 0x4c8]
test ecx, ecx
je 0x100d3f3f
xor eax, eax
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x4c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [esi + ebx*4]
push edx
push eax
mov dword [esp + 0x54], 0x20010
call ecx
add esp, 8
test eax, eax
jne 0x100d3f3f
mov ecx, dword [esp + 0x54]
or ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x38c], ecx
mov eax, dword [edi + 0x4cc]
test eax, eax
je 0x100d3f57
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x70]
push ecx
push edx
call eax
add esp, 8
mov eax, dword [edi + 0x4d4]
test eax, eax
je 0x100d3f6f
mov edx, dword [esi + ebx*4]
lea ecx, [esp + 0x6c]
push ecx
push edx
call eax
add esp, 8
mov esi, dword [esp + 0x14]
mov eax, esi
call fcn.100e3710
test eax, eax
je 0x100d3fb5
mov eax, dword [eax + 0x18]
movzx eax, word [eax + 6]
and eax, 0xfff0
cmp eax, 0x1e00
jne 0x100d3fb5
mov eax, dword [esi + 0x398]
cmp eax, 0x58
je 0x100d3fa9
cmp eax, 0x60
jne 0x100d3fb5
fld dword [0x101f6f50]
jmp 0x100d3faf
fld dword [0x101f6f58]
fstp dword [esi + 0x3b0]
mov eax, dword [esi + 0x390]
and eax, 0xfffff000
cmp eax, 0x10b0000
ja 0x100d3fe4
je 0x100d3feb
cmp eax, 0x1090000
je 0x100d3feb
cmp eax, 0x10a0000
je 0x100d3feb
mov dword [esp + 0x10], 1
jmp 0x100d41a9
cmp eax, 0x10c0000
jne 0x100d4005
mov eax, dword [esi + 0x39c]
cmp eax, 0xffffffff
je 0x100d4005
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [esi + 0x3a0], eax
mov dword [esp + 0x10], 1
jmp 0x100d41a9
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xa70], 0
call fcn.1007d540
mov ecx, dword [esp + 0x28]
inc eax
mov dword [ebx + 0x3d4], eax
mov dword [ebx + 0x390], 0x1000000
mov dword [ebx + 0x3ec], ecx
mov edx, dword [esp + 0x1c]
and edx, 0xffff
mov dword [ebx + 0x3f8], edx
mov eax, dword [esp + 0x1c]
shr eax, 0x10
mov dword [ebx + 0x3fc], eax
mov ecx, dword [esp + 0x5c]
mov dword [ebx + 0x400], ecx
mov edx, dword [esp + 0x3c]
and edx, 0xffff
mov dword [ebx + 0x404], edx
mov eax, dword [esp + 0x3c]
shr eax, 0x10
mov dword [ebx + 0x408], eax
call fcn.100e35a0
mov esi, ebx
call fcn.100e36b0
push 0x10c
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x100d40b2
mov ecx, dword [edi + 0x108]
mov esi, eax
call fcn.100ccbe0
mov esi, eax
jmp 0x100d40b4
xor esi, esi
push esi
mov eax, ebx
call fcn.100ccc20
test eax, eax
je 0x100d40d3
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx + 0x10]
push esi
call fcn.10006340
mov edi, dword [esp + 0x40]
jmp 0x100d40e1
test esi, esi
je 0x100d40e1
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x91c]
push ecx
mov ecx, dword [edi + 0x444]
push eax
call ecx
add esp, 8
test eax, eax
jne 0x100d418c
lea edx, [esp + 0x91c]
push str.NVIDIA
push edx
call fcn.1003de50
add esp, 8
test eax, eax
jne 0x100d4173
lea eax, [esp + 0x91c]
push str.NVidia
push eax
call fcn.1003de50
add esp, 8
test eax, eax
jne 0x100d4173
lea ecx, [esp + 0x91c]
push str.nvidia
push ecx
call fcn.1003de50
add esp, 8
test eax, eax
jne 0x100d4173
lea edx, [esp + 0x91c]
push edx
push str.NVIDIA__s
lea eax, [ebx + 0x10]
push 0x100
push eax
call fcn.1013b440
add esp, 0x10
jmp 0x100d418c
lea ecx, [esp + 0x91c]
push ecx
lea edx, [ebx + 0x10]
push 0x100
push edx
call fcn.1003dc98
add esp, 0xc
push esi
mov esi, edi
mov eax, ebx
call fcn.100e3830
mov edi, dword [esp + 0x20]
mov esi, ebx
call fcn.1007dd90
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
inc ebx
cmp ebx, dword [eax]
mov dword [esp + 0x24], ebx
jl 0x100d3a20
lea ecx, [esp + 0x30]
mov dword [esp + 0xa70], 0xffffffff
call fcn.100014a0
mov eax, dword [esp + 0x10]
jmp 0x100d41ee
lea ecx, [esp + 0x30]
mov dword [esp + 0xa70], 0xffffffff
call fcn.100014a0
xor eax, eax
mov ecx, dword [esp + 0xa68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa50]
xor ecx, esp
call fcn.1003dc89
mov esp, ebp
pop ebp
ret