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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
mov edi, edx
mov dword [ebp - 0xb0], ebx
mov eax, dword [ebx]
mov edx, 0x4000
mov ecx, edx
mov dword [ebp - 0xac], edi
mov dword [edi + 8], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x58]
mov dword [edi + 0x1404], eax
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x1408], eax
mov eax, dword [ebx + 0x60]
mov dword [edi + 0x140c], eax
mov eax, dword [ebx + 0x64]
mov dword [edi + 0x1410], eax
mov eax, dword [ebx + 0x68]
mov dword [edi + 0x1414], eax
mov eax, dword [ebx + 0x6c]
mov dword [edi + 0x141c], eax
mov eax, dword [ebx + 0x70]
mov dword [edi + 0x1420], eax
cmp dword [ebx + 0x74], ecx
cmovb ecx, dword [ebx + 0x74]
mov dword [edi + 0x1424], ecx
mov ecx, 0x10000
cmp dword [ebx + 0x78], edx
cmovb edx, dword [ebx + 0x78]
mov dword [edi + 0x1428], edx
cmp dword [ebx + 0x7c], ecx
cmovb ecx, dword [ebx + 0x7c]
mov dword [edi + 0x142c], ecx
mov ecx, 0x8000
mov eax, dword [ebx + 0x80]
cmp eax, ecx
cmovb ecx, eax
mov dword [edi + 0x1430], ecx
mov ecx, 0x800
mov eax, dword [ebx + 0x84]
cmp eax, ecx
cmovb ecx, eax
mov eax, 0x10624dd3
mov dword [edi + 0x1434], ecx
mov ecx, dword [ebx + 0x88]
add ecx, 0x1f4
mul ecx
mov eax, 0x10624dd3
shr edx, 6
mov dword [edi + 0x143c], edx
mov ecx, dword [ebx + 0x8c]
add ecx, 0x1f4
mul ecx
shr edx, 6
mov dword [edi + 0x1440], edx
mov eax, dword [ebx + 0x94]
mov dword [edi + 0x1448], eax
mov eax, dword [ebx + 0x98]
mov dword [edi + 0x144c], eax
mov eax, dword [ebx + 0xb8]
mov dword [edi + 0x1454], eax
mov eax, dword [ebx + 0xbc]
mov dword [edi + 0x1458], eax
mov eax, dword [ebx + 0xc0]
mov dword [edi + 0x145c], eax
mov eax, dword [ebx + 0xc4]
mov dword [edi + 0x1460], eax
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xcc]
mov dword [edi + 0x1468], eax
mov eax, dword [ebx + 0xd4]
mov dword [edi + 0x146c], eax
mov eax, dword [ebx + 0xd8]
mov dword [edi + 0x1474], eax
mov eax, dword [ebx + 0xdc]
mov dword [edi + 0x1478], eax
mov eax, dword [ebx + 0xe0]
mov dword [edi + 0x147c], eax
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x40]
mov esi, dword [ebx + 0x44]
or dword [edi + 0x44], eax
or dword [edi + 0x48], ecx
or dword [edi + 0x4c], edx
or dword [edi + 0x50], esi
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x50]
mov esi, dword [ebx + 0x54]
or dword [edi + 0x54], eax
or dword [edi + 0x58], ecx
or dword [edi + 0x5c], edx
or dword [edi + 0x60], esi
movups xmm0, xmmword [ebx + 0xe8]
push 0x90
push 0
movups xmmword [edi + 0x64], xmm0
movups xmm0, xmmword [ebx + 0xf8]
movups xmmword [edi + 0x74], xmm0
movq xmm0, qword [ebx + 0x108]
movq qword [edi + 0x84], xmm0
mov eax, dword [ebx + 0x110]
mov dword [edi + 0x8c], eax
mov eax, dword [ebx + 0x114]
mov dword [edi + 0x170], eax
mov eax, dword [ebx + 0x118]
mov dword [edi + 0x174], eax
mov eax, dword [ebx + 0x12c]
mov dword [edi + 0x178], eax
mov eax, dword [ebx + 0x1dd]
mov ecx, dword [ebx + 0x1e1]
mov dword [edi + 0x180], eax
mov dword [edi + 0x184], ecx
mov eax, dword [ebx + 0x1e5]
mov ecx, dword [ebx + 0x1e9]
mov dword [edi + 0x188], eax
mov dword [edi + 0x18c], ecx
cmp dword [ebx + 0x1435], 0
setne al
mov byte [edi + 0x13f], al
cmp dword [ebx + 0x1439], 0
setne al
mov byte [edi + 0x140], al
mov eax, dword [ebx + 0x144d]
mov dword [edi + 0x190], eax
mov eax, dword [ebx + 0x1589]
and dword [edi], 0xfe7fffff
shr eax, 6
xor eax, dword [edi + 4]
and eax, 0x80000
xor dword [edi + 4], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.10425c00
add esp, 0xc
mov dword [ebp - 0xa8], 0x9c
mov dword [ebp - 0xa4], 6
mov dword [ebp - 0xa0], 1
push 1
push 2
push 0
mov ebx, dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
push 0
call ebx
push 1
push 1
push edx
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
push edx
push eax
push 3
lea eax, [ebp - 0xa8]
push eax
call esi
push 3
push 2
push 0
push 0
mov edi, eax
call ebx
push 3
push 1
push edx
push eax
call ebx
push edx
push eax
push 3
lea eax, [ebp - 0xa8]
push eax
call esi
mov ebx, dword [ebp - 0xac]
mov ecx, eax
mov eax, dword [ebx]
test edi, edi
je 0x101df652
or eax, 0x800000
mov dword [ebx], eax
mov dword [ebp - 0xac], eax
test ecx, ecx
je 0x101df669
or eax, 0x1000000
mov dword [ebp - 0xac], eax
mov dword [ebx], eax
mov edx, dword [ebp - 0xb0]
lea edi, [ebx + 0x1a8]
mov ecx, 0x70
movzx eax, word [edx + 0x130]
lea esi, [edx + 0x1f5]
mov word [ebx + 0x90], ax
movzx eax, byte [edx + 0x132]
mov byte [ebx + 0x92], al
movzx eax, word [edx + 0x133]
mov word [ebx + 0x93], ax
movzx eax, byte [edx + 0x135]
mov byte [ebx + 0x95], al
movzx eax, word [edx + 0x136]
mov word [ebx + 0x96], ax
movups xmm0, xmmword [edx + 0x138]
movups xmmword [ebx + 0x98], xmm0
mov eax, dword [edx + 0x148]
mov dword [ebx + 0xa8], eax
movzx eax, word [edx + 0x14c]
mov word [ebx + 0xac], ax
movzx eax, byte [edx + 0x14e]
mov byte [ebx + 0xae], al
movzx eax, byte [edx + 0x14f]
mov byte [ebx + 0xaf], al
rep movsd dword es:[edi], dword [esi]
lea esi, [edx + 0xff5]
mov ecx, 0x72
lea edi, [ebx + 0xfa8]
rep movsd dword es:[edi], dword [esi]
lea esi, [edx + 0x11bd]
mov ecx, 0x68
lea edi, [ebx + 0x1170]
rep movsd dword es:[edi], dword [esi]
lea esi, [edx + 0x135d]
mov ecx, 0x1a
lea edi, [ebx + 0x1310]
rep movsd dword es:[edi], dword [esi]
movzx eax, byte [edx + 0x1dc]
mov ecx, dword [ebx + 0x14bc]
mov byte [ebx + 0x13c], al
movups xmm0, xmmword [edx + 0x156d]
mov edi, dword [ebp - 0xac]
and edi, 0x7fffffff
movups xmmword [ebx + 0x14a8], xmm0
mov esi, dword [edx + 0x157d]
mov dword [ebx + 0x13f8], esi
mov eax, dword [edx + 0x1581]
mov dword [ebx + 0x1488], eax
mov eax, dword [edx + 0x1585]
mov dword [ebx + 0x14b8], eax
xor ecx, dword [edx + 0x1589]
and ecx, 1
xor ecx, dword [ebx + 0x14bc]
mov dword [ebx + 0x14bc], ecx
mov eax, dword [edx + 0x1589]
xor eax, ecx
and eax, 2
xor eax, ecx
mov dword [ebx + 0x14bc], eax
mov eax, dword [edx + 0x1589]
shl eax, 4
xor eax, dword [ebx + 4]
and eax, 0x40
xor dword [ebx + 4], eax
mov ecx, dword [edx + 0x1589]
shl ecx, 4
xor ecx, dword [ebx + 4]
and ecx, 0x80
xor ecx, dword [ebx + 4]
mov dword [ebx + 4], ecx
mov eax, dword [edx + 0x1599]
shl eax, 0x1f
or eax, edi
mov dword [ebx], eax
mov eax, dword [edx + 0x1589]
shl eax, 4
xor eax, ecx
and eax, 0x800
xor eax, ecx
mov dword [ebx + 4], eax
mov edx, dword [edx + 0x1589]
mov edi, dword [ebp - 0xb0]
shl edx, 4
xor edx, eax
and edx, 0x200
xor edx, eax
mov dword [ebx + 4], edx
mov eax, dword [edi + 0x1589]
shr eax, 8
and al, 1
mov byte [ebx + 0x14d0], al
mov eax, dword [edi + 0x158d]
mov dword [ebx + 0x14cc], eax
mov ecx, dword [edi + 0x159d]
shl ecx, 2
xor ecx, edx
and ecx, 4
xor ecx, edx
mov dword [ebx + 4], ecx
mov eax, dword [edi + 0x159d]
shl eax, 2
xor eax, ecx
and eax, 0x10
xor eax, ecx
mov dword [ebx + 4], eax
cmp esi, 0x4000
jg 0x101dfa75
je 0x101dfa50
cmp esi, 0x1000
jg 0x101df8c7
je case.0x101dfa96.16386
test esi, esi
jne case.0x101dfa96.16386
mov dword [ebx + 0x13fc], esi
mov dword [ebx + 0x1400], esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 6
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x2000
jg 0x101df98e
je 0x101df969
sub esi, 0x1001
cmp esi, 4
ja case.0x101dfa96.16386
jmp dword [esi*4 + 0x101dfcc4]
mov dword [ebx + 0x13fc], 6
mov dword [ebx + 0x1400], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 6
mov dword [ebx + 0x1400], 3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 6
mov dword [ebx + 0x1400], 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 6
jmp 0x101dfca9
mov dword [ebx + 0x13fc], 7
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x3001
jg 0x101dfa1f
je 0x101df9fa
cmp esi, 0x2001
je 0x101df9d5
cmp esi, 0x3000
jne case.0x101dfa96.16386
mov dword [ebx + 0x13fc], 8
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 7
mov dword [ebx + 0x1400], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 8
mov dword [ebx + 0x1400], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x3002
jne case.0x101dfa96.16386
mov dword [ebx + 0x13fc], 8
mov dword [ebx + 0x1400], 3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xb
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x5000
jg 0x101dfb40
je 0x101dfb1b
sub esi, 0x4001
cmp esi, 4
ja case.0x101dfa96.16386
jmp dword [esi*4 + 0x101dfcd8]
mov dword [ebx + 0x13fc], 0xb
mov dword [ebx + 0x1400], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xb
mov dword [ebx + 0x1400], 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xb
jmp 0x101dfca9
mov dword [ebx + 0x13fc], 0xb
mov dword [ebx + 0x1400], 6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xc
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x7002
jg 0x101dfc39
je 0x101dfc14
cmp esi, 0x6001
jg 0x101dfbe3
je 0x101dfbbe
cmp esi, 0x5001
je 0x101dfb99
cmp esi, 0x6000
jne case.0x101dfa96.16386
mov dword [ebx + 0x13fc], 0xd
mov dword [ebx + 0x1400], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xc
mov dword [ebx + 0x1400], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xd
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x7001
jne case.0x101dfa96.16386
mov dword [ebx + 0x13fc], 0xe
mov dword [ebx + 0x1400], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xe
mov dword [ebx + 0x1400], 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
cmp esi, 0x7005
je 0x101dfc9f
cmp esi, 0x8000
je 0x101dfc7a
cmp esi, 0x9000
jne case.0x101dfa96.16386
mov dword [ebx + 0x13fc], 0x10
mov dword [ebx + 0x1400], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xf
mov dword [ebx + 0x1400], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x13fc], 0xe
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov dword [ebx + 0x1400], 5
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret