Function at 0x100dd530
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x70
mov eax, dword [ecx + 0x108]
push ebx
push ebp
push esi
xor esi, esi
push edi
mov dword [esp + 0x6c], ecx
test eax, eax
jne 0x100dd557
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x1c], esi
je 0x100dd54d
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], 0xffffffff
test eax, eax
je 0x100dec8b
mov ebx, dword [eax + 4]
mov dword [esp + 0x7c], ebx
test ebx, ebx
je 0x100dec8b
mov edi, dword [ebx + 4]
test edi, edi
je 0x100dec8b
lea esp, [esp]
mov eax, dword [edi + 0x3f8]
test eax, eax
jne 0x100dd5b0
mov eax, edi
call fcn.100e3710
test eax, eax
je 0x100dec6f
mov edx, dword [eax + 0x18]
movzx eax, word [edx + 4]
cmp eax, 0x1002
jne 0x100dec6f
mov eax, edi
call fcn.100e3710
mov ebx, eax
test ebx, ebx
je case.0x100debd2.39170
cmp byte [ebx + 0x16], 0
jne case.0x100debd2.39170
or esi, 0xffffffff
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100dd70b
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x14]
push edx
movzx edx, byte [ebx + 0x16]
push 0x10
push edx
movzx edx, byte [ebx + 0x15]
push edx
movzx edx, byte [ebx + 0x14]
push edx
call eax
test eax, eax
je 0x100dd70b
mov eax, dword [esp + 0x14]
test al, 1
jne 0x100dd70b
mov ecx, eax
shr ecx, 1
and ecx, 3
sub ecx, 2
je 0x100dd677
and eax, 0xfffffff0
mov dword [esp + 0x70], eax
jbe 0x100dd70b
push 0x2000000
push eax
push 0
call fcn.1013c470
mov ecx, eax
call fcn.1013ccb0
mov ebp, eax
test ebp, ebp
jne 0x100dd705
push 0x14
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x100dd6f5
mov ecx, dword [esp + 0x70]
push esi
push ecx
push ebp
mov ecx, eax
call fcn.1006aaa0
mov ebp, eax
jmp 0x100dd6f7
and eax, 0xfffffff0
mov edx, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100dd6b0
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x74]
push eax
movzx eax, byte [ebx + 0x16]
push 0x14
push eax
movzx eax, byte [ebx + 0x15]
push eax
movzx eax, byte [ebx + 0x14]
push eax
call edx
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
ja 0x100dd6b8
test edx, edx
jbe 0x100dd70b
push 0x2000000
push eax
push edx
call fcn.1013c470
mov ecx, eax
call fcn.1013ccb0
mov ebp, eax
test ebp, ebp
jne 0x100dd705
push 0x14
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x100dd6f5
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
push esi
push ecx
push edx
mov ecx, eax
call fcn.1006aaa0
mov ebp, eax
jmp 0x100dd6f7
xor ebp, ebp
call fcn.1013c470
mov ecx, dword [eax + 0x24]
push ebp
call fcn.10002150
mov dword [edi + 0x51c], ebp
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100dd83d
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x14]
push edx
movzx edx, byte [ebx + 0x16]
push 0x18
push edx
movzx edx, byte [ebx + 0x15]
push edx
movzx edx, byte [ebx + 0x14]
push edx
call eax
test eax, eax
je 0x100dd83d
mov eax, dword [esp + 0x14]
test al, 1
jne 0x100dd83d
mov ecx, eax
shr ecx, 1
and ecx, 3
sub ecx, 2
je 0x100dd7a9
and eax, 0xfffffff0
mov dword [esp + 0x70], eax
jbe 0x100dd83d
push 0x2000000
push eax
push 0
call fcn.1013c470
mov ecx, eax
call fcn.1013ccb0
mov ebp, eax
test ebp, ebp
jne 0x100dd837
push 0x14
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x100dd827
mov ecx, dword [esp + 0x70]
push esi
push ecx
push ebp
mov ecx, eax
call fcn.1006aaa0
mov ebp, eax
jmp 0x100dd829
and eax, 0xfffffff0
mov edx, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100dd7e2
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x74]
push eax
movzx eax, byte [ebx + 0x16]
push 0x1c
push eax
movzx eax, byte [ebx + 0x15]
push eax
movzx eax, byte [ebx + 0x14]
push eax
call edx
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test eax, eax
ja 0x100dd7ea
test edx, edx
jbe 0x100dd83d
push 0x2000000
push eax
push edx
call fcn.1013c470
mov ecx, eax
call fcn.1013ccb0
mov ebp, eax
test ebp, ebp
jne 0x100dd837
push 0x14
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x100dd827
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
push esi
push ecx
push edx
mov ecx, eax
call fcn.1006aaa0
mov ebp, eax
jmp 0x100dd829
xor ebp, ebp
call fcn.1013c470
mov ecx, dword [eax + 0x24]
push ebp
call fcn.10002150
mov dword [edi + 0x524], ebp
mov esi, dword [esp + 0x6c]
mov eax, 0x6978
mov dword [edi + 0x478], eax
mov dword [edi + 0x474], eax
push 0xffffffffffffffff
mov eax, edi
call fcn.100e3830
cmp dword [edi + 0x390], 0xffffffff
jne 0x100dd86e
mov dword [edi + 0x390], 0x2000000
mov ebp, dword [esp + 0x3c]
mov esi, 1
cmp ebp, 0xffffffff
jne 0x100dd901
call fcn.1013c470
cmp dword [eax + 0x20], 0
je 0x100dd901
call fcn.1013c470
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [eax + 0x20]
push 0
push 0xc0000
push 0
call fcn.10018389
mov eax, dword [esp + 0x14]
mov edx, eax
and edx, 0xff00
cmp edx, 0xaa00
jne 0x100dd8c5
cmp al, 0x55
jne 0x100dd8c5
mov ebp, 0xc0000
jmp 0x100dd8fd
call fcn.1013c470
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [eax + 0x20]
push 0
push 0xe0000
push 0
call fcn.10018389
mov eax, dword [esp + 0x14]
mov edx, eax
and edx, 0xff00
cmp edx, 0xaa00
jne 0x100dd901
cmp al, 0x55
jne 0x100dd901
mov ebp, 0xe0000
mov dword [esp + 0x3c], ebp
mov eax, dword [ebx + 0x18]
movzx eax, word [eax + 6]
cmp eax, 0x7103
jg 0x100dde6f
cmp eax, 0x7100
jge case.0x100ddecb.29248
cmp eax, 0x5549
jg 0x100ddb1e
je 0x100dd9c2
cmp eax, 0x4a4e
jg 0x100dd9d1
je 0x100dda47
cmp eax, 0x4148
jg 0x100dd983
je 0x100dda47
cmp eax, 0x3154
jg 0x100dd973
je 0x100dda47
sub eax, 0x3150
je 0x100dda47
sub eax, 2
je 0x100dda47
jmp case.0x100ddf27.38154
cmp eax, 0x4146
je 0x100dda47
jmp case.0x100ddf27.38154
cmp eax, 0x4a4a
jg 0x100dd9b7
cmp eax, 0x4a49
jge 0x100dd9c2
cmp eax, 0x4150
jl case.0x100ddf27.38154
cmp eax, 0x4152
jle 0x100dda47
cmp eax, 0x4155
je 0x100dda47
jmp case.0x100ddf27.38154
cmp eax, 0x4a4d
jne case.0x100ddf27.38154
mov dword [edi + 0x390], 0x2040000
jmp case.0x100ddf27.38154
cmp eax, 0x4e52
jg 0x100dda1d
cmp eax, 0x4e50
jge 0x100dda47
cmp eax, 0x4e46
jg 0x100dda06
je 0x100dda47
cmp eax, 0x4b49
jl case.0x100ddf27.38154
cmp eax, 0x4b4c
jle 0x100dd9c2
cmp eax, 0x4e44
je 0x100dda47
jmp case.0x100ddf27.38154
cmp eax, 0x4e48
jl case.0x100ddf27.38154
cmp eax, 0x4e4a
jle 0x100dda47
jmp case.0x100ddf27.38154
cmp eax, 0x5462
jg 0x100dda3c
cmp eax, 0x5460
jge 0x100dda47
sub eax, 0x4e54
je 0x100dda47
sub eax, 2
je 0x100dda47
jmp case.0x100ddf27.38154
cmp eax, 0x5464
jne case.0x100ddf27.38154
mov dword [edi + 0x390], 0x2030000
cmp ebp, 0xffffffff
je case.0x100ddf27.38154
call fcn.1013c470
cmp dword [eax + 0x20], 0
je case.0x100ddf27.38154
call fcn.1013c470
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x20]
push 0x48
push ebp
push 0
call fcn.10018389
mov eax, dword [esp + 0x40]
and eax, 0xffff
mov dword [esp + 0x40], eax
dec eax
cmp eax, 0x6ffe
ja case.0x100ddf27.38154
call fcn.1013c470
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x44]
push edx
add ecx, 0x30
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
mov eax, dword [esp + 0x44]
and eax, 0xffff
mov dword [esp + 0x44], eax
dec eax
cmp eax, 0x6ffe
ja case.0x100ddf27.38154
call fcn.1013c470
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x14]
push edx
add ecx, 0x26
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea edx, [eax - 0xb]
mov dword [esp + 0x14], eax
cmp edx, 0x2704
ja case.0x100ddf27.38154
lea eax, [eax + eax*4]
add eax, eax
mov dword [edi + 0x478], eax
mov dword [edi + 0x474], eax
jmp case.0x100ddf27.38154
cmp eax, 0x5d52
jg 0x100ddcb8
je 0x100dd9c2
cmp eax, 0x5653
jg 0x100ddb9f
cmp eax, 0x5652
jge 0x100dd9c2
cmp eax, 0x5551
jg 0x100ddb79
cmp eax, 0x5550
jge 0x100dd9c2
cmp eax, 0x554b
je 0x100dd9c2
cmp eax, 0x554c
jle case.0x100ddf27.38154
cmp eax, 0x554e
jle 0x100dd9c2
jmp case.0x100ddf27.38154
cmp eax, 0x564a
jl case.0x100ddf27.38154
cmp eax, 0x564b
jle 0x100dd9c2
cmp eax, 0x564f
je 0x100dd9c2
jmp case.0x100ddf27.38154
cmp eax, 0x5d4e
jg 0x100ddca8
cmp eax, 0x5d4d
jge 0x100dd9c2
cmp eax, 0x5960
je 0x100ddbd7
cmp eax, 0x5d47
jle case.0x100ddf27.38154
cmp eax, 0x5d4a
jle 0x100dd9c2
jmp case.0x100ddf27.38154
mov dword [edi + 0x390], 0x2020000
cmp ebp, 0xffffffff
je case.0x100ddf27.38154
call fcn.1013c470
cmp dword [eax + 0x20], 0
je case.0x100ddf27.38154
call fcn.1013c470
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [eax + 0x20]
push 0x48
push ebp
push 0
call fcn.10018389
mov eax, dword [esp + 0x48]
and eax, 0xffff
mov dword [esp + 0x48], eax
dec eax
cmp eax, 0x6ffe
ja case.0x100ddf27.38154
call fcn.1013c470
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x4c]
push edx
add ecx, 0x30
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
mov eax, dword [esp + 0x4c]
and eax, 0xffff
mov dword [esp + 0x4c], eax
dec eax
cmp eax, 0x6ffe
ja case.0x100ddf27.38154
call fcn.1013c470
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x14]
push edx
add ecx, 0x26
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
mov eax, dword [esp + 0x14]
and eax, 0xffff
lea edx, [eax - 0xb]
mov dword [esp + 0x14], eax
cmp edx, 0x2704
ja case.0x100ddf27.38154
lea eax, [eax + eax*4]
add eax, eax
mov dword [edi + 0x474], eax
jmp case.0x100ddf27.38154
cmp eax, 0x5d50
je 0x100dd9c2
jmp case.0x100ddf27.38154
cmp eax, 0x689e
jg 0x100dde53
je case.0x100dde68.26808
cmp eax, 0x6739
jg 0x100dde2d
cmp eax, 0x6738
jge case.0x100dde68.26808
cmp eax, 0x5e48
je 0x100dd9c2
cmp eax, 0x6718
jne case.0x100ddf27.38154
cmp ebp, 0xffffffff
je 0x100dde04
call fcn.1013c470
cmp dword [eax + 0x20], 0
je 0x100dde04
call fcn.1013c470
mov ecx, dword [eax + 0x20]
lea edx, [esp + 0x1c]
push edx
push 0x48
push ebp
push 0
call fcn.10018389
and dword [esp + 0x1c], 0xffff
call fcn.1013c470
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 4
push edx
push ebp
push 0
call fcn.10018389
cmp dword [esp + 0x18], 0x4d4f5441
jne 0x100dde04
call fcn.1013c470
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0x20
push edx
push ebp
push 0
call fcn.10018389
and dword [esp + 0x50], 0xffff
call fcn.1013c470
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0xc
push edx
push ebp
push 0
call fcn.10018389
and dword [esp + 0x20], 0xffff
call fcn.1013c470
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0x52
push edx
push ebp
push 0
call fcn.10018389
movzx eax, word [esp + 0x18]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x18], eax
mov dword [edi + 0x478], eax
mov dword [edi + 0x474], eax
call fcn.1013c470
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0x54
push edx
push ebp
push 0
call fcn.10018389
movzx eax, word [esp + 0x18]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x18], eax
shr eax, 2
mov dword [edi + 0x478], eax
mov eax, dword [ebx + 0x18]
xor edx, edx
mov ecx, 0x6718
cmp word [eax + 6], cx
setne dl
dec edx
and edx, 0x10000
add edx, 0x20c0000
mov dword [edi + 0x390], edx
jmp case.0x100ddf27.38154
cmp eax, 0x6898
jl case.0x100ddf27.38154
cmp eax, 0x6899
jle case.0x100dde68.26808
cmp eax, 0x689c
je case.0x100dde68.26808
jmp case.0x100ddf27.38154
sub eax, 0x68b8
cmp eax, 0x20
ja case.0x100ddf27.38154
movzx ecx, byte [eax + 0x100deca0]
jmp dword [ecx*4 + 0x100dec98]
cmp eax, 0x7211
jg 0x100dde9b
cmp eax, 0x7210
jge case.0x100ddecb.29248
sub eax, 0x7105
cmp eax, 0xd9
ja case.0x100ddf27.38154
movzx eax, byte [eax + 0x100deccc]
jmp dword [eax*4 + 0x100decc4]
cmp eax, 0x9501
jg 0x100ddeff
je case.0x100ddf27.38148
cmp eax, 0x9403
jg 0x100ddee1
cmp eax, 0x9400
jge case.0x100ddf27.38148
sub eax, 0x7240
cmp eax, 0x53
ja case.0x100ddf27.38154
movzx ecx, byte [eax + 0x100dedb0]
jmp dword [ecx*4 + 0x100deda8]
mov dword [edi + 0x390], 0x2050000
jmp case.0x100ddf27.38154
sub eax, 0x9405
cmp eax, 0xc7
ja case.0x100ddf27.38154
movzx edx, byte [eax + 0x100dee10]
jmp dword [edx*4 + 0x100dee04]
cmp eax, 0x9610
jg 0x100de0fc
je 0x100de113
sub eax, 0x9504
cmp eax, 0xcb
ja case.0x100ddf27.38154
movzx eax, byte [eax + 0x100deee4]
jmp dword [eax*4 + 0x100deed8]
cmp ebp, 0xffffffff
je 0x100de1f6
call fcn.1013c470
cmp dword [eax + 0x20], 0
je 0x100de1f6
call fcn.1013c470
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x20]
push 0x48
push ebp
push 0
call fcn.10018389
and dword [esp + 0x24], 0xffff
call fcn.1013c470
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
add ecx, 4
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
cmp dword [esp + 0x28], 0x4d4f5441
jne 0x100de1f6
call fcn.1013c470
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x54]
push edx
add ecx, 0x20
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
and dword [esp + 0x54], 0xffff
call fcn.1013c470
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x58]
push edx
add ecx, 0xc
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
and dword [esp + 0x58], 0xffff
call fcn.1013c470
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x28]
push edx
add ecx, 0x52
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
movzx eax, word [esp + 0x28]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x28], eax
jmp 0x100de1ea
cmp ebp, 0xffffffff
je 0x100de0ed
call fcn.1013c470
cmp dword [eax + 0x20], 0
je 0x100de0ed
call fcn.1013c470
mov ecx, dword [eax + 0x20]
lea edx, [esp + 0x2c]
push edx
push 0x48
push ebp
push 0
call fcn.10018389
and dword [esp + 0x2c], 0xffff
call fcn.1013c470
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 4
push edx
push ebp
push 0
call fcn.10018389
cmp dword [esp + 0x30], 0x4d4f5441
jne 0x100de0ed
call fcn.1013c470
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0x20
push edx
push ebp
push 0
call fcn.10018389
and dword [esp + 0x5c], 0xffff
call fcn.1013c470
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0xc
push edx
push ebp
push 0
call fcn.10018389
and dword [esp + 0x60], 0xffff
call fcn.1013c470
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [eax + 0x20]
add edx, 0x52
push edx
push ebp
push 0
call fcn.10018389
movzx eax, word [esp + 0x30]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x30], eax
mov dword [edi + 0x478], eax
mov dword [edi + 0x474], eax
mov dword [edi + 0x390], 0x2070000
jmp case.0x100ddf27.38154
sub eax, 0x9612
je 0x100de113
sub eax, 2
je 0x100de113
sub eax, 0xfc
jne case.0x100ddf27.38154
cmp ebp, 0xffffffff
je 0x100de1f6
call fcn.1013c470
cmp dword [eax + 0x20], 0
je 0x100de1f6
call fcn.1013c470
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [eax + 0x20]
push 0x48
push ebp
push 0
call fcn.10018389
and dword [esp + 0x34], 0xffff
call fcn.1013c470
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x38]
push edx
add ecx, 4
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
cmp dword [esp + 0x38], 0x4d4f5441
jne 0x100de1f6
call fcn.1013c470
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x64]
push edx
add ecx, 0x20
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
and dword [esp + 0x64], 0xffff
call fcn.1013c470
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0x68]
push edx
add ecx, 0xc
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
and dword [esp + 0x68], 0xffff
call fcn.1013c470
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x38]
push edx
add ecx, 0x52
push ecx
mov ecx, dword [eax + 0x20]
push ebp
push 0
call fcn.10018389
movzx eax, word [esp + 0x38]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x38], eax
mov dword [edi + 0x474], eax
mov dword [edi + 0x478], eax
mov dword [edi + 0x390], 0x2060000
mov ecx, dword [ebx + 0x18]
movzx eax, word [ecx + 6]
cmp eax, 0x6898
jg 0x100de600
je 0x100de5ed
cmp eax, 0x6640
jg 0x100de34d
je 0x100de343
cmp eax, 0x4750
jg 0x100de2b5
je 0x100de2a2
cmp eax, 0x1316
jg 0x100de275
je 0x100de262
sub eax, 0x130f
je 0x100de24f
sub eax, 4
jne case.0x100debd2.39170
push str.AMD_Radeon_R7
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_R5
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
sub eax, 0x4744
je 0x100de28f
sub eax, 5
jne case.0x100debd2.39170
push str.ATI_Mach64_GI__Rage_Pro_
jmp 0x100dec53
push str.ATI_Mach64_GD__Rage_Pro_
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Mach64_GP__Rage_Pro_
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
cmp eax, 0x515e
jg 0x100de30d
je 0x100de303
sub eax, 0x4751
je 0x100de2f0
sub eax, 1
je 0x100de2dd
sub eax, 3
jne case.0x100debd2.39170
push str.ATI_Mach64_GT__Rage_II_
jmp 0x100dec53
push str.ATI_Mach64_GR__Rage_XL_XC_
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Mach64_GQ__Rage_Pro_
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.ATI_ES1000
jmp 0x100dec53
sub eax, 0x5964
je 0x100de330
sub eax, 1
jne case.0x100debd2.39170
push str.ATI_FireMV_2200_PCI
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Radeon_9200_SE
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_8950
jmp 0x100dec53
cmp eax, 0x6798
jg 0x100de4cd
je 0x100de4c3
sub eax, 0x6646
cmp eax, 0xf3
ja case.0x100debd2.39170
movzx edx, byte [eax + 0x100defe4]
jmp dword [edx*4 + 0x100defb0]
cmp byte [ecx + 0xc], 0x80
jne 0x100de398
push str.AMD_Radeon_R9_M385
lea eax, [edi + 0x10]
push 0x100
push eax
call fcn.1003dc98
add esp, 0xc
push str.AMD_Radeon_R9_M280X
jmp 0x100dec53
cmp byte [ecx + 0xc], 0x80
jne 0x100de3be
push str.AMD_Radeon_R9_M380
lea edx, [edi + 0x10]
push 0x100
push edx
call fcn.1003dc98
add esp, 0xc
push str.AMD_Radeon_R9_M270X
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_FirePro_W5100
jmp 0x100dec53
push 0x101c79e8
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push 0x101c79fc
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_R7_200
jmp 0x100dec53
push 0x101c7a24
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
movzx eax, byte [ecx + 0xc]
sub eax, 0x81
je 0x100de441
sub eax, 2
je 0x100de457
push str.AMD_Radeon_HD_8600M
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_R5_M335
lea eax, [edi + 0x10]
push 0x100
push eax
call fcn.1003dc98
add esp, 0xc
push str.AMD_Radeon_R5_M330
lea ecx, [edi + 0x10]
push 0x100
push ecx
call fcn.1003dc98
add esp, 0xc
push str.AMD_Radeon_HD_8600M
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_VII
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_6850
jmp 0x100dec53
push str.AMD_Radeon_HD_6870
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_HD_6970
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_7970
jmp 0x100dec53
sub eax, 0x6810
cmp eax, 0x6f
ja case.0x100debd2.39170
movzx edx, byte [eax + 0x100df100]
jmp dword [edx*4 + 0x100df0d8]
cmp byte [ecx + 0xc], 0
jne 0x100de505
push 0x101c7ad4
lea eax, [edi + 0x10]
push 0x100
push eax
call fcn.1003dc98
add esp, 0xc
push str.AMD_Radeon_R9_270
jmp 0x100dec53
cmp byte [ecx + 0xc], 0
jne 0x100de52b
push str.AMD_Radeon_HD_8800
lea edx, [edi + 0x10]
push 0x100
push edx
call fcn.1003dc98
add esp, 0xc
push str.AMD_Radeon_R7_300
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push 0x101c7b24
jmp 0x100dec53
push str.AMD_Radeon_HD_7800
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_HD_7700M
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_7730M
jmp 0x100dec53
push str.AMD_Radeon_HD_7700
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_HD_7600M
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
movzx eax, byte [ecx + 0xc]
sub eax, 0xc0
je 0x100de5e3
sub eax, 1
je 0x100de5d0
sub eax, 2
je 0x100de5bd
push str.AMD_Radeon_RX_Vega
jmp 0x100dec53
push 0x101c7bcc
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push 0x101c7bb4
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push 0x101c7b9c
jmp 0x100dec53
push str.ATI_Radeon_HD_5870
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
cmp eax, 0x9440
jg 0x100dea51
je 0x100dea47
cmp eax, 0x71c0
jg 0x100de732
je 0x100de71f
cmp eax, 0x68c1
jg 0x100de6a7
je 0x100de694
sub eax, 0x6899
cmp eax, 0x25
ja case.0x100debd2.39170
movzx eax, byte [eax + 0x100df188]
jmp dword [eax*4 + 0x100df170]
push str.ATI_Radeon_HD_5850
jmp 0x100dec53
push str.ATI_Radeon_HD_5900
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Radeon_HD_5830
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.ATI_Radeon_HD_5770
jmp 0x100dec53
push str.ATI_Radeon_HD_5750
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Mobility_Radeon_HD_5650
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
cmp eax, 0x6939
jg 0x100de6f0
je 0x100de6dd
sub eax, 0x68d8
je 0x100de6ca
sub eax, 0x60
jne case.0x100debd2.39170
push str.ATI_Radeon_R9_380X
jmp 0x100dec53
push str.ATI_Radeon_HD_5670
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Radeon_R9_380
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
cmp eax, 0x6fdf
je 0x100de70c
cmp eax, 0x7188
jne case.0x100debd2.39170
push str.ATI_Mobility_Radeon_X2300
jmp 0x100dec53
push str.AMD_Radeon_RX_580_2048SP
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Radeon_X1600
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
cmp eax, 0x73ef
jg 0x100de8fe
je 0x100de8ab
sub eax, 0x731f
cmp eax, 0xc0
ja case.0x100debd2.39170
movzx edx, byte [eax + 0x100df1c8]
jmp dword [edx*4 + 0x100df1b0]
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff40
cmp eax, 0xa
ja case.0x100debd2.39170
movzx eax, byte [eax + 0x100df2a0]
jmp dword [eax*4 + 0x100df28c]
push 0x101c7d14
jmp 0x100dec53
push str.AMD_Radeon_RX_5700_XT
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_5700
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_RX_5600_XT
jmp 0x100dec53
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff3f
cmp eax, 0xe
ja case.0x100debd2.39170
movzx edx, byte [eax + 0x100df2c0]
jmp dword [edx*4 + 0x100df2ac]
push str.AMD_Radeon_RX_5500M
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_RX_5500_XT
jmp 0x100dec53
push str.AMD_Radeon_RX_5500
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_5300
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push 0x101c7dc4
jmp 0x100dec53
movzx eax, byte [ecx + 0xc]
sub eax, 0xc0
je 0x100de867
sub eax, 1
je 0x100de854
sub eax, 2
jne case.0x100debd2.39170
push str.AMD_Radeon_RX_6800
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_6800_XT
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_RX_6900_XT
jmp 0x100dec53
movzx eax, byte [ecx + 0xc]
sub eax, 0xc1
je 0x100de898
sub eax, 1
jne case.0x100debd2.39170
push str.AMD_Radeon_RX_6850M_XT
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_6700_XT
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff40
cmp eax, 4
ja case.0x100debd2.39170
jmp dword [eax*4 + 0x100df2d0]
push str.AMD_Radeon_RX_6800S
jmp 0x100dec53
push str.AMD_Radeon_RX_6700S
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_6650M
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_RX_6650M_XT
jmp 0x100dec53
sub eax, 0x73ff
cmp eax, 0x81
ja case.0x100debd2.39170
movzx edx, byte [eax + 0x100df2fc]
jmp dword [edx*4 + 0x100df2e4]
movzx eax, byte [ecx + 0xc]
sub eax, 0xc1
je 0x100de952
sub eax, 6
je 0x100de948
sub eax, 0x18
jne case.0x100debd2.39170
push str.AMD_Radeon_RX_6750_GRE
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_RX_6600
jmp 0x100dec53
push str.AMD_Radeon_RX_6600_XT
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
movzx eax, byte [ecx + 0xc]
add eax, 0xffffff3f
cmp eax, 0xe
ja case.0x100debd2.39170
movzx eax, byte [eax + 0x100df394]
jmp dword [eax*4 + 0x100df380]
push str.AMD_Radeon_RX_6500_XT
jmp 0x100dec53
push str.AMD_Radeon_RX_6500M
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_6400
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_RX_6300M
jmp 0x100dec53
movzx eax, byte [ecx + 0xc]
sub eax, 0xc8
je 0x100de9e6
sub eax, 4
jne case.0x100debd2.39170
push str.AMD_Radeon_RX_7900_XT
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_RX_7900_XTX
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
movzx eax, byte [ecx + 0xc]
sub eax, 0xc8
je 0x100dea17
sub eax, 0x37
jne case.0x100debd2.39170
push str.AMD_Radeon_RX_7700_XT
jmp 0x100dec53
push str.AMD_Radeon_RX_7800_XT
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
cmp byte [ecx + 0xc], 0xcf
jne case.0x100debd2.39170
push str.AMD_Radeon_RX_7600
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.ATI_Radeon_HD_4870
jmp 0x100dec53
cmp eax, 0x9802
jg 0x100deb5a
je 0x100deb50
cmp eax, 0x9490
jg 0x100deae7
je 0x100dead4
sub eax, 0x9441
cmp eax, 0x1f
ja case.0x100debd2.39170
movzx edx, byte [eax + 0x100df3bc]
jmp dword [edx*4 + 0x100df3a4]
push str.ATI_Radeon_HD_4870_X2
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.ATI_Radeon_HD_4850
jmp 0x100dec53
push str.ATI_Radeon_HD_4850_X2
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.ATI_Radeon_HD_4830
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.ATI_Radeon_HD_4890
jmp 0x100dec53
push str.ATI_Radeon_HD_4670
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
cmp eax, 0x9610
jg 0x100deb32
je 0x100deb1f
cmp eax, 0x9498
je 0x100deb15
cmp eax, 0x954f
jne case.0x100debd2.39170
push str.ATI_Radeon_HD_4350
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.ATI_Radeon_HD_4650
jmp 0x100dec53
push str.AMD_Radeon_HD_3200
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
cmp eax, 0x9644
jne case.0x100debd2.39170
push str.AMD_Radeon_HD_6410D
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push 0x101c8094
jmp 0x100dec53
cmp eax, 0x9900
jg 0x100debbb
je 0x100deba8
sub eax, 0x9803
je 0x100deb9e
sub eax, 1
je 0x100deb8b
sub eax, 1
jne case.0x100debd2.39170
push str.AMD_Radeon_HD_6250
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push 0x101c80bc
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_6310
jmp 0x100dec53
push str.AMD_Radeon_HD_7660G
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
sub eax, 0x9901
cmp eax, 0x9c
ja case.0x100debd2.39170
movzx eax, byte [eax + 0x100df408]
jmp dword [eax*4 + 0x100df3dc]
push str.AMD_Radeon_HD_7660D
jmp 0x100dec53
push str.AMD_Radeon_HD_8650G
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_HD_8670D
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_8550G
jmp 0x100dec53
push str.AMD_Radeon_HD_8570D
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_HD_8610G
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_8410G
jmp 0x100dec53
push str.AMD_Radeon_HD_8310G
push 0x100
lea edx, [edi + 0x10]
push edx
jmp 0x100dec5c
push str.AMD_Radeon_HD_8650D
push 0x100
lea eax, [edi + 0x10]
push eax
jmp 0x100dec5c
push str.AMD_Radeon_HD_8550D
push 0x100
lea ecx, [edi + 0x10]
push ecx
call fcn.1003dc98
add esp, 0xc
mov eax, edi
call fcn.100db4e0
mov ebx, dword [esp + 0x7c]
test ebx, ebx
je 0x100dec8b
mov eax, dword [ebx + 8]
test eax, eax
je 0x100dec8b
mov edi, dword [eax + 4]
mov ebx, eax
mov dword [esp + 0x7c], ebx
test edi, edi
jne 0x100dd590
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret