Function at 0x1029fe60
Capabilities:
Get file version info
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8e0
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebp + 8]
push edi
and dword [ebx + 0xc5d8], 0x3fffffff
mov dword [ebx + 0xd5e4], eax
mov dword [ebx + 0xc5dc], 0
mov dword [ebx + 0xd5f0], 0
mov dword [ebx + 0xd5f4], 4
mov dword [ebx + 0xd5f8], 0x80
mov dword [ebx + 0xd5fc], 3
mov dword [ebx + 0xd600], 0x15e
mov dword [ebx + 0xd604], 0x15e
mov dword [ebx + 0xd608], 1
mov dword [ebx + 0xd610], 0
mov dword [ebx + 0xd614], 0
mov dword [ebx + 0xd618], 0
mov dword [ebx + 0xd61c], 0
mov dword [ebx + 0xd620], 0
mov dword [ebx + 0xd624], 0
mov word [ebx + 0xd628], 0
mov eax, dword [esi + 0xad6f]
mov ecx, dword [esi + 0xad73]
mov dword [ebx + 0xd62c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0xf658], eax
mov eax, dword [ebp + 0x14]
push 0x104
mov dword [ebx + 0xf65c], eax
lea eax, [ebx + 0xf44a]
push 0
push eax
mov dword [ebp - 0x81c], esi
mov dword [ebx + 0xd630], ecx
mov dword [ebx + 0xf654], 0
mov dword [ebx + 0xc38c], 0
mov dword [ebx + 0xc390], 0
mov dword [ebx + 0xc394], 1
mov dword [ebx + 0xc398], 0xffffffff
mov dword [ebx + 0xc39c], 0xffffffff
mov dword [ebx + 0xc3a0], 0x80000000
mov dword [ebx + 0xc3ac], 0
mov dword [ebx + 0xd584], 0
mov dword [ebx + 0xc3a4], 0
mov dword [ebx + 0xc3a8], 0
mov dword [ebx + 0xc3b0], 0
mov dword [ebx + 0xc3b4], 0
mov dword [ebx + 0xc3b8], 0
mov dword [ebx + 0xc3bc], 0
mov dword [ebx + 0xc3c0], 0
call fcn.10425c00
push 0x104
lea eax, [ebx + 0xc3c4]
push 0
push eax
call fcn.10425c00
movzx eax, byte [ebp + 0x18]
add esp, 0x18
mov ecx, dword [ebx + 0xc5d8]
cdq
and ecx, 0xcf03b7f0
and eax, 0xfffffffd
mov dword [ebx + 0xc5cc], 0
shld edx, eax, 0x1c
mov dword [ebx + 0xc5d0], 0
shl eax, 0x1c
or eax, ecx
mov dword [ebx + 0xc5d4], 0
or dword [ebx + 0xc5dc], edx
lea ecx, [ebx + 0xd63c]
mov dword [ebx + 0xc5d8], eax
mov edx, 0x36
mov word [ebx + 0xd588], 0
lea eax, [ebx + 0xd74a]
mov dword [ebx + 0xd634], 0
mov dword [ebx + 0xd638], 0
mov dword [ecx], 0xffffffff
lea ecx, [ecx + 4]
mov byte [eax - 0x36], 0
lea eax, [eax + 1]
mov byte [eax - 1], 0
sub edx, 1
jne 0x102a0091
push 0x30
push edx
lea eax, [ebx + 0xd5b4]
push eax
call fcn.10425c00
push 0x14e0
push 0
push ebx
call fcn.10425c00
push 0xf9e
lea eax, [ebx + 0xc5e4]
push 0
push eax
call fcn.10425c00
add esp, 0x24
lea eax, [esi + 0x1c]
xorps xmm0, xmm0
movups xmmword [ebx + 0xd58c], xmm0
push ebx
movups xmmword [ebx + 0xd59c], xmm0
push eax
movq qword [ebx + 0xd5ac], xmm0
call fcn.102a2440
push 0xaeab
lea eax, [ebx + 0x14e0]
push esi
push eax
call fcn.10425d60
mov eax, dword [ebx + 0x2951]
add esp, 0xc
cmp dword [ebx + 0xc26b], 0
mov dword [ebx + 0xd5ec], eax
mov eax, dword [ebx + 0x2959]
mov dword [ebx + 0xd5e8], eax
je 0x102a01e6
lea eax, [ebp - 0x808]
mov dword [ebp - 0x808], 0
push eax
push 0x104564e0
call sub.VERSION.dll_GetFileVersionInfoSizeA
test eax, eax
je 0x102a01e6
lea eax, [ebp - 0x804]
push eax
push 0x800
push dword [ebp - 0x808]
push 0x104564e0
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x102a01e6
lea eax, [ebp - 0x818]
mov dword [ebp - 0x818], 0
push eax
lea eax, [ebp - 0x820]
mov dword [ebp - 0x820], 0
push eax
push 0x10468d10
lea eax, [ebp - 0x804]
push eax
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x102a01e6
cmp dword [ebp - 0x818], 0
je 0x102a01e6
mov ecx, dword [ebp - 0x820]
cmp dword [ecx], 0xfeef04bd
jne 0x102a01e6
mov eax, dword [ecx + 0x1c]
test dword [ecx + 0x18], eax
jne 0x102a01e6
movzx eax, word [ecx + 0xa]
mov dword [ebx + 0xd5ec], eax
movzx eax, word [ecx + 0xe]
mov dword [ebx + 0xd5e8], eax
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x30]
test ecx, 0x100
je 0x102a01fa
or eax, 1
mov dword [ebx + 0x30], eax
test ecx, 0x200
je 0x102a0208
or eax, 2
mov dword [ebx + 0x30], eax
test ecx, 0x800
je 0x102a0216
or eax, 8
mov dword [ebx + 0x30], eax
test ecx, 0x400
je 0x102a0224
or eax, 4
mov dword [ebx + 0x30], eax
test ecx, 0x40000
je 0x102a0232
or eax, 0x10
mov dword [ebx + 0x30], eax
test ecx, 0x20000
je 0x102a0240
or eax, 0x20
mov dword [ebx + 0x30], eax
movzx edx, cl
cmp edx, 0x34
jne 0x102a024f
or eax, 0x40000
jmp 0x102a0272
mov dword [ebp - 0x808], eax
mov edi, eax
cmp edx, 0x35
je 0x102a0266
cmp edx, 0x36
je 0x102a0266
cmp edx, 0x37
jne 0x102a0275
mov eax, edi
and eax, 0xfffbffcb
or eax, 0x80000
mov dword [ebx + 0x30], eax
test ecx, 0x1000
je 0x102a0283
or eax, 0x40
mov dword [ebx + 0x30], eax
test al, 0xe
je 0x102a028f
or eax, 0x80
mov dword [ebx + 0x30], eax
lea edi, [ebx + 0xd78c]
lea eax, [esi + 0x36d4]
test edi, edi
je 0x102a02ca
test eax, eax
je 0x102a02ba
mov ecx, 0x144
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x81c]
lea edi, [ebx + 0xd78c]
jmp 0x102a02da
push 0x510
push 0
push edi
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
lea eax, [ebx + 0xdc9c]
lea ecx, [esi + 0x3be4]
test eax, eax
je 0x102a030a
push 0x17ad
test ecx, ecx
je 0x102a02ff
push ecx
push eax
call fcn.10425d60
add esp, 0xc
jmp 0x102a031a
push 0
push eax
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
mov ecx, 1
cmp dword [edi], ecx
cmova ecx, dword [edi]
mov dword [ebx + 0xd788], ecx
mov eax, dword [esi + 0x5391]
or eax, dword [esi + 0x5395]
je 0x102a034a
cmp dword [esi + 0x5399], 8
jne 0x102a034a
mov edx, 4
xor edi, edi
jmp 0x102a0361
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edi, dword [ebp - 0x808]
mov edx, dword [ebp - 0x80c]
mov ecx, dword [ebx + 0xc5d8]
lea eax, [ebx + 0xc5e4]
or dword [ebx + 0xc5dc], edi
and ecx, 0xfffffffb
or ecx, edx
lea edx, [esi + 0x9db1]
mov dword [ebx + 0xc5d8], ecx
test eax, eax
je 0x102a03b1
test edx, edx
je 0x102a03a1
mov ecx, 0x3e7
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0x81c]
jmp 0x102a03c1
push 0xf9e
push 0
push eax
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
mov eax, dword [esi + 0x9dad]
mov ecx, ebx
mov dword [ebx + 0xc5e0], eax
mov eax, dword [esi + 0xad57]
mov dword [ebx + 0xd780], eax
mov eax, dword [esi + 0x275]
mov dword [ebx + 0xd784], eax
lea eax, [esi + 0x9949]
push eax
call fcn.102a1be0
mov ecx, dword [ebx + 0x1448]
mov eax, 0x10624dd3
add ecx, 0x1f4
mul ecx
mov ecx, dword [ebx + 0x144c]
mov eax, 0x10624dd3
mov edi, edx
add ecx, 0x1f4
mul ecx
shr edi, 6
shr edx, 6
test edi, edi
jne 0x102a042b
mov edi, dword [ebx + 0x143c]
mov dword [ebx + 0xd600], edi
test edx, edx
jne 0x102a043b
mov edx, dword [ebx + 0x1440]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0xd5f8], eax
mov eax, dword [ebx + 8]
mov dword [ebx + 0xd5fc], eax
mov eax, dword [ebx + 0x68]
mov dword [ebx + 0xd604], edx
test eax, eax
je 0x102a0460
mov dword [ebx + 0xd5f4], eax
mov eax, dword [esi + 0x9b51]
mov ecx, dword [esi + 0x9b55]
mov dword [ebx + 0xd610], eax
mov dword [ebx + 0xd614], ecx
mov eax, dword [esi + 0x9b59]
mov ecx, dword [esi + 0x9b5d]
mov dword [ebx + 0xd618], eax
mov dword [ebx + 0xd61c], ecx
mov eax, dword [esi + 0x9d95]
mov ecx, dword [ebx + 0xc5d8]
mov dword [ebx + 0xd620], eax
and ecx, 0xfffffff7
mov dword [ebx + 0xd624], 0
movzx eax, byte [esi + 0x155]
shr al, 2
and al, 1
movzx eax, al
cdq
mov edi, eax
mov esi, edx
mov eax, dword [ebp - 0x81c]
shld esi, edi, 3
or esi, dword [ebx + 0xc5dc]
mov dword [ebx + 0xc5dc], esi
shl edi, 3
or edi, ecx
mov dword [ebx + 0xc5d8], edi
and edi, 0xffffffdf
movzx eax, byte [eax + 0x161]
shr al, 7
movzx eax, al
cdq
mov ecx, eax
xor eax, eax
shld edx, ecx, 5
or edx, esi
shl ecx, 5
or ecx, edi
mov dword [ebx + 0xc5dc], edx
mov edi, dword [ebp - 0x81c]
mov dword [ebx + 0xc5d8], ecx
and ecx, 0xffffffef
mov esi, dword [edi + 0x15a5]
shr esi, 7
and esi, 1
shld eax, esi, 4
or eax, edx
shl esi, 4
or esi, ecx
mov dword [ebx + 0xc5dc], eax
mov dword [ebx + 0xc5d8], esi
xor ecx, ecx
mov edx, dword [edi + 0x15a5]
and esi, 0xffffffbf
shr edx, 4
and edx, 1
shld ecx, edx, 6
or ecx, eax
shl edx, 6
mov eax, dword [ebp - 0x81c]
or edx, esi
mov dword [ebx + 0xc5d8], edx
xor esi, esi
mov dword [ebx + 0xc5dc], ecx
and edx, 0xffffff7f
mov edi, dword [edi + 0x15a5]
shr edi, 5
and edi, 1
shld esi, edi, 7
shl edi, 7
or esi, ecx
or edi, edx
mov dword [ebx + 0xc5dc], esi
mov dword [ebx + 0xc5d8], edi
movzx eax, byte [eax + 0x16c]
and al, 1
movzx eax, al
cdq
shld edx, eax, 8
shl eax, 8
and edi, 0xfffffeff
or eax, edi
or edx, esi
mov esi, dword [ebp - 0x81c]
mov edi, eax
mov dword [ebx + 0xc5d8], eax
and edi, 0xfffffdff
and eax, 0x100
mov dword [ebp - 0x818], edx
or eax, 0
mov dword [ebx + 0xc5dc], edx
je 0x102a07e8
mov al, byte [esi + 0x170]
shr al, 2
mov dword [ebp - 0x848], 0
and al, 1
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0
movups xmm0, xmmword [ebp - 0x848]
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x808], 0
movups xmm1, xmmword [ebp - 0x814]
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0
por xmm1, xmm0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x84c], 0
movups xmm0, xmmword [ebp - 0x858]
movzx eax, al
cdq
por xmm1, xmm0
mov dword [ebp - 0x868], 0
shld edx, eax, 9
mov dword [ebp - 0x864], 0
or edx, dword [ebp - 0x818]
mov dword [ebp - 0x860], 0x8000
mov dword [ebp - 0x85c], 0
movups xmm0, xmmword [ebp - 0x868]
shl eax, 9
mov dword [ebp - 0x878], 0
or eax, edi
por xmm1, xmm0
mov dword [ebp - 0x874], 0x1000000
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0
movups xmm0, xmmword [ebp - 0x878]
mov dword [ebx + 0xc5d8], eax
mov dword [ebx + 0xc5dc], edx
mov edx, dword [ebx + 0x48]
por xmm1, xmm0
mov ecx, dword [ebx + 0x4c]
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
and ecx, eax
movd eax, xmm0
or edx, ecx
mov ecx, dword [ebx + 0x50]
and ecx, eax
or edx, ecx
movd ecx, xmm1
mov eax, ecx
and eax, dword [ebx + 0x44]
and eax, 0x7fffffff
or edx, eax
je 0x102a0760
shr ecx, 0x1f
test cl, cl
jne 0x102a0760
mov al, byte [esi + 0x16f]
shr al, 1
jmp 0x102a0762
xor al, al
mov ecx, dword [ebx + 0xc5d8]
and al, 1
movzx eax, al
and ecx, 0xfeffffff
cdq
mov edi, eax
shld edx, edi, 0x18
or edx, dword [ebx + 0xc5dc]
shl edi, 0x18
or edi, ecx
mov dword [ebx + 0xc5dc], edx
mov eax, edi
mov dword [ebx + 0xc5d8], edi
and eax, 0x1000000
or eax, 0
jne 0x102a07bf
test byte [esi + 0x170], 0x10
je 0x102a07bf
and edi, 0xfffffbff
mov eax, 0x400
xor ecx, ecx
or edi, eax
or edx, ecx
mov dword [ebp - 0x818], edx
jmp 0x102a07f4
xorps xmm0, xmm0
and edi, 0xfffffbff
movlpd qword [ebp - 0x80c], xmm0
mov eax, dword [ebp - 0x80c]
or edi, eax
mov ecx, dword [ebp - 0x808]
or edx, ecx
mov dword [ebp - 0x818], edx
jmp 0x102a07f4
and edi, 0xfffffbff
or edi, 0x1000000
mov dword [ebx + 0xc5d8], edi
and edi, 0xfffeffff
mov dword [ebx + 0xc5dc], edx
movzx eax, byte [esi + 0x16e]
and al, 1
mov dword [ebp - 0x868], 0
movzx eax, al
cdq
mov esi, eax
mov dword [ebp - 0x864], 0
mov ecx, edx
mov dword [ebp - 0x860], 0
shld ecx, esi, 0x10
mov dword [ebp - 0x85c], 0
or ecx, dword [ebp - 0x818]
movups xmm0, xmmword [ebp - 0x868]
shl esi, 0x10
mov dword [ebp - 0x878], 0
or esi, edi
mov edi, dword [ebp - 0x81c]
mov dword [ebp - 0x874], 0
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0
movups xmm1, xmmword [ebp - 0x878]
mov dword [ebx + 0xc5dc], ecx
mov dword [ebx + 0xc5d8], esi
and esi, 0xffffefff
movzx eax, byte [edi + 0x16d]
por xmm1, xmm0
and al, 1
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x84c], 0
movups xmm0, xmmword [ebp - 0x858]
movzx eax, al
cdq
por xmm1, xmm0
mov dword [ebp - 0x848], 0
shld edx, eax, 0xc
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x840], 0x8000
or edx, ecx
mov dword [ebp - 0x83c], 0
movups xmm0, xmmword [ebp - 0x848]
shl eax, 0xc
or eax, esi
mov dword [ebp - 0x814], 0
por xmm1, xmm0
mov dword [ebp - 0x810], 0x1000000
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x808], 0
movups xmm0, xmmword [ebp - 0x814]
mov dword [ebx + 0xc5d8], eax
mov dword [ebx + 0xc5dc], edx
mov edx, dword [ebx + 0x48]
por xmm1, xmm0
mov ecx, dword [ebx + 0x4c]
movaps xmm0, xmm1
mov esi, dword [ebx + 0x44]
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
mov dword [ebp - 0x838], esi
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
and ecx, eax
movd eax, xmm0
or edx, ecx
mov ecx, dword [ebx + 0x50]
and ecx, eax
mov eax, esi
or edx, ecx
movd ecx, xmm1
and eax, ecx
and eax, 0x7fffffff
or edx, eax
je 0x102a09bd
shr ecx, 0x1f
test cl, cl
jne 0x102a09bd
mov al, byte [edi + 0x16f]
jmp 0x102a09bf
xor al, al
mov ecx, dword [ebx + 0xc5d8]
and al, 1
movzx eax, al
and ecx, 0xfdffffff
cdq
mov edi, eax
mov dword [ebp - 0x868], 0
mov eax, dword [ebp - 0x81c]
mov esi, edx
shld esi, edi, 0x19
mov dword [ebp - 0x864], 0
or esi, dword [ebx + 0xc5dc]
shl edi, 0x19
or edi, ecx
mov dword [ebx + 0xc5dc], esi
mov dword [ebx + 0xc5d8], edi
and edi, 0xfffdffff
movzx eax, byte [eax + 0x1af]
and al, 1
mov dword [ebp - 0x860], 0
movzx eax, al
cdq
mov ecx, edx
mov dword [ebp - 0x85c], 0
movups xmm0, xmmword [ebp - 0x868]
mov dword [ebp - 0x878], 0
shld ecx, eax, 0x11
mov dword [ebp - 0x874], 0
shl eax, 0x11
or ecx, esi
or eax, edi
mov dword [ebx + 0xc5dc], ecx
mov edi, dword [ebp - 0x81c]
mov dword [ebp - 0x808], eax
mov esi, eax
mov dword [ebx + 0xc5d8], eax
and esi, 0xffffdfff
movzx eax, byte [edi + 0x1ae]
and al, 1
mov dword [ebp - 0x870], 0
movzx eax, al
cdq
mov dword [ebp - 0x86c], 0
movups xmm1, xmmword [ebp - 0x878]
mov dword [ebp - 0x858], 0
shld edx, eax, 0xd
mov dword [ebp - 0x854], 0
por xmm1, xmm0
shl eax, 0xd
mov dword [ebp - 0x850], 0
or eax, esi
mov dword [ebp - 0x84c], 0
or edx, ecx
movups xmm0, xmmword [ebp - 0x858]
mov dword [ebx + 0xc5d8], eax
mov dword [ebx + 0xc5dc], edx
mov dword [ebp - 0x848], 0
por xmm1, xmm0
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x840], 0x8000
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x810], 0x1000000
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x8c0], 0x100
mov dword [ebp - 0x8bc], 0
mov dword [ebp - 0x8b8], 0
mov dword [ebp - 0x8b4], 0
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0
mov dword [ebp - 0x8c8], 0x1000
mov dword [ebp - 0x8c4], 0
mov dword [ebp - 0x888], 0
mov dword [ebp - 0x884], 0x200000
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0x400000
mov dword [ebp - 0x828], 0
movups xmm0, xmmword [ebp - 0x848]
mov eax, dword [ebx + 0x50]
mov esi, dword [ebx + 0x4c]
mov edx, esi
por xmm1, xmm0
mov ecx, dword [ebx + 0x48]
movups xmm0, xmmword [ebp - 0x814]
mov dword [ebp - 0x824], eax
por xmm1, xmm0
movups xmm0, xmmword [ebp - 0x8c0]
por xmm1, xmm0
movups xmm0, xmmword [ebp - 0x8d0]
por xmm1, xmm0
movups xmm0, xmmword [ebp - 0x888]
por xmm1, xmm0
movups xmm0, xmmword [ebp - 0x834]
por xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
and ecx, eax
movd eax, xmm0
or edx, ecx
movd ecx, xmm1
and eax, dword [ebp - 0x824]
or edx, eax
mov eax, dword [ebp - 0x838]
and eax, ecx
and eax, 0x7fffffff
or edx, eax
je 0x102a0d84
shr ecx, 0x1f
test cl, cl
jne 0x102a0d84
mov eax, dword [ebp - 0x81c]
mov esi, 1
add eax, 0x170
mov dword [ebp - 0x808], esi
mov ecx, 8
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x818], ecx
lea edi, [esi + 0x12]
cmp edi, 0x40
jae 0x102a0cdc
xor edx, edx
mov eax, edi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx + 0x180]
and ecx, dword [ebx + 0x184]
jmp 0x102a0d08
cmp edi, 0x80
jae 0x102a0d5a
xor edx, edx
lea eax, [edi - 0x40]
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx + 0x188]
and ecx, dword [ebx + 0x18c]
or edx, ecx
je 0x102a0d4e
mov eax, dword [ebp - 0x8ac]
mov ecx, 0
mov esi, dword [ebx + 0xc5d8]
test byte [eax], 0x20
mov eax, dword [ebp - 0x808]
cmove eax, ecx
cdq
shld edx, eax, 0x12
shl eax, 0x12
or eax, esi
xor eax, esi
and eax, 0x7c0000
xor eax, esi
xor dword [ebx + 0xc5dc], ecx
mov esi, dword [ebp - 0x808]
mov dword [ebx + 0xc5d8], eax
mov eax, dword [ebp - 0x8ac]
mov ecx, dword [ebp - 0x818]
add eax, 8
rol esi, 1
inc edi
mov dword [ebp - 0x8ac], eax
sub ecx, 1
mov dword [ebp - 0x808], esi
mov dword [ebp - 0x818], ecx
jne 0x102a0cb2
mov edi, dword [ebp - 0x81c]
mov esi, dword [ebx + 0x4c]
cmp dword [ebx + 0x190], 0x2000
jb 0x102a1067
cmp dword [ebx + 0xd5ec], 0xa
jb 0x102a1067
cmp dword [ebx + 0xd5e8], 0x3f48
jb 0x102a1067
test byte [ebx + 0xc38c], 0x40
jne 0x102a1067
test dword [ebx + 4], 0x2000
je 0x102a1067
mov dword [ebp - 0x888], 0
mov ecx, esi
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 0
movups xmm0, xmmword [ebp - 0x888]
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
movups xmm1, xmmword [ebp - 0x834]
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0
por xmm1, xmm0
mov dword [ebp - 0x8c8], 0
mov dword [ebp - 0x8c4], 0
movups xmm0, xmmword [ebp - 0x8d0]
mov dword [ebp - 0x8c0], 0
mov dword [ebp - 0x8bc], 0
por xmm1, xmm0
mov dword [ebp - 0x8b8], 0x8000
mov dword [ebp - 0x8b4], 0
movups xmm0, xmmword [ebp - 0x8c0]
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x874], 0x1000000
por xmm1, xmm0
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0
movups xmm0, xmmword [ebp - 0x878]
mov dword [ebp - 0x868], 0x100
mov dword [ebp - 0x864], 0
por xmm1, xmm0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x85c], 0
movups xmm0, xmmword [ebp - 0x868]
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0
por xmm1, xmm0
mov dword [ebp - 0x850], 0x1000
mov dword [ebp - 0x84c], 0
movups xmm0, xmmword [ebp - 0x858]
mov edx, dword [ebp - 0x824]
mov dword [ebp - 0x848], 0
por xmm1, xmm0
mov dword [ebp - 0x844], 0x200000
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0
movups xmm0, xmmword [ebp - 0x848]
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x810], 0
por xmm1, xmm0
mov dword [ebp - 0x80c], 0x400000
mov dword [ebp - 0x808], 0
movups xmm0, xmmword [ebp - 0x814]
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0
por xmm1, xmm0
mov dword [ebp - 0x890], 0x40000000
mov dword [ebp - 0x88c], 0
movups xmm0, xmmword [ebp - 0x898]
mov dword [ebp - 0x8a8], 0x800
mov dword [ebp - 0x8a4], 0
por xmm1, xmm0
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x89c], 0
movups xmm0, xmmword [ebp - 0x8a8]
por xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
and ecx, eax
movd eax, xmm0
or edx, ecx
mov ecx, dword [ebx + 0x48]
and ecx, eax
or edx, ecx
movd ecx, xmm1
mov eax, ecx
and eax, dword [ebp - 0x838]
and eax, 0x7fffffff
or edx, eax
je 0x102a1067
shr ecx, 0x1f
test cl, cl
jne 0x102a1067
test esi, 0x800000
je 0x102a1067
test byte [edi + 0x15a5], 4
jne 0x102a1067
mov ecx, 0x800
xor edx, edx
jmp 0x102a107e
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edx, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x80c]
mov esi, dword [ebx + 0xc5d8]
mov eax, dword [ebx + 0xc5dc]
and esi, 0xfffff7ff
or eax, edx
or esi, ecx
mov dword [ebp - 0x818], eax
mov eax, esi
and eax, 0x800
or eax, 0
je 0x102a1237
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
mov dword [ebp - 0x88c], 0
movups xmm0, xmmword [ebp - 0x898]
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x89c], 0
movups xmm1, xmmword [ebp - 0x8a8]
mov edx, dword [ebp - 0x824]
mov dword [ebp - 0x834], 0
por xmm1, xmm0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
movups xmm0, xmmword [ebp - 0x834]
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x888], 0
por xmm1, xmm0
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x880], 0x8000
mov dword [ebp - 0x87c], 0
movups xmm0, xmmword [ebp - 0x888]
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0x1000000
por xmm1, xmm0
mov dword [ebp - 0x8c8], 0
mov dword [ebp - 0x8c4], 0
movups xmm0, xmmword [ebp - 0x8d0]
mov dword [ebp - 0x8c0], 0x100
mov dword [ebp - 0x8bc], 0
por xmm1, xmm0
mov dword [ebp - 0x8b8], 0
mov dword [ebp - 0x8b4], 0
movups xmm0, xmmword [ebp - 0x8c0]
por xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
and ecx, eax
movd eax, xmm0
or edx, ecx
mov ecx, dword [ebx + 0x48]
and ecx, eax
or edx, ecx
movd ecx, xmm1
mov eax, ecx
and eax, dword [ebp - 0x838]
and eax, 0x7fffffff
or edx, eax
je 0x102a1237
shr ecx, 0x1f
test cl, cl
jne 0x102a1237
mov eax, 0x800000
xor edx, edx
jmp 0x102a124e
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
mov ecx, dword [ebp - 0x818]
and esi, 0xff7fffff
or esi, eax
or ecx, edx
mov eax, esi
and eax, 0x800000
or eax, 0
je 0x102a128b
cmp dword [ebx + 0x190], 0x2400
jb 0x102a128b
test dword [ebx + 0xc38c], 0x80000
jne 0x102a128b
mov eax, 0x4000
xor edx, edx
jmp 0x102a12a2
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
and esi, 0xffffbfff
or ecx, edx
or esi, eax
mov dword [ebp - 0x818], ecx
mov eax, esi
and eax, 0x4000
or eax, 0
jne 0x102a1358
mov eax, esi
and eax, 0x800
or eax, 0
je 0x102a12ef
mov eax, esi
and eax, 0x10000
or eax, 0
je 0x102a12e6
mov eax, esi
and eax, 0x1000
or eax, 0
jne 0x102a12ef
mov eax, 0x800
xor edx, edx
jmp 0x102a1306
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
and esi, 0xfffff7ff
or ecx, edx
or esi, eax
mov eax, esi
and eax, 0x800
or eax, 0
je 0x102a1331
mov eax, esi
and eax, 0x800000
or eax, 0
je 0x102a1331
mov eax, 0x800000
xor edx, edx
jmp 0x102a1348
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
and esi, 0xff7fffff
or esi, eax
or ecx, edx
mov dword [ebp - 0x818], ecx
mov eax, esi
and eax, 0x800
or eax, 0
je 0x102a14af
mov eax, esi
and eax, 0x800000
or eax, 0
je 0x102a14af
mov eax, esi
and eax, 0x4000
or eax, 0
je 0x102a14af
mov edx, dword [ebp - 0x824]
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
mov dword [ebp - 0x88c], 0
movups xmm0, xmmword [ebp - 0x898]
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x89c], 0
movups xmm1, xmmword [ebp - 0x8a8]
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
por xmm1, xmm0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
movups xmm0, xmmword [ebp - 0x834]
mov dword [ebp - 0x888], 0
mov dword [ebp - 0x884], 0
por xmm1, xmm0
mov dword [ebp - 0x880], 0x8000
mov dword [ebp - 0x87c], 0
movups xmm0, xmmword [ebp - 0x888]
por xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
and ecx, eax
movd eax, xmm0
or edx, ecx
mov ecx, dword [ebx + 0x48]
and ecx, eax
or edx, ecx
movd ecx, xmm1
mov eax, ecx
and eax, dword [ebp - 0x838]
and eax, 0x7fffffff
or edx, eax
je 0x102a14af
shr ecx, 0x1f
test cl, cl
jne 0x102a14af
mov eax, 0x20000000
xor ecx, ecx
jmp 0x102a14c6
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov ecx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
and esi, 0xdfffffff
or esi, eax
mov eax, dword [ebp - 0x818]
or eax, ecx
mov dword [ebx + 0xc5d8], esi
mov dword [ebx + 0xc5dc], eax
test dword [edi + 0x15b9], 0x200
je 0x102a17b9
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
mov dword [ebp - 0x88c], 0
movups xmm0, xmmword [ebp - 0x898]
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x89c], 0
movups xmm1, xmmword [ebp - 0x8a8]
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
por xmm1, xmm0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
movups xmm0, xmmword [ebp - 0x834]
mov dword [ebp - 0x888], 0
mov dword [ebp - 0x884], 0
por xmm1, xmm0
mov dword [ebp - 0x880], 0x8000
mov dword [ebp - 0x87c], 0
movups xmm0, xmmword [ebp - 0x888]
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0x1000000
por xmm1, xmm0
mov dword [ebp - 0x8c8], 0
mov dword [ebp - 0x8c4], 0
movups xmm0, xmmword [ebp - 0x8d0]
mov dword [ebp - 0x8c0], 0x100
mov dword [ebp - 0x8bc], 0
por xmm1, xmm0
mov dword [ebp - 0x8b8], 0
mov dword [ebp - 0x8b4], 0
movups xmm0, xmmword [ebp - 0x8c0]
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x874], 0
por xmm1, xmm0
mov dword [ebp - 0x870], 0x1000
mov dword [ebp - 0x86c], 0
movups xmm0, xmmword [ebp - 0x878]
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 0x200000
por xmm1, xmm0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x85c], 0
movups xmm0, xmmword [ebp - 0x868]
mov ecx, dword [ebp - 0x824]
mov dword [ebp - 0x858], 0
por xmm1, xmm0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x850], 0x400000
mov dword [ebp - 0x84c], 0
movups xmm0, xmmword [ebp - 0x858]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x844], 0
por xmm1, xmm0
mov dword [ebp - 0x840], 0x40000000
mov dword [ebp - 0x83c], 0
movups xmm0, xmmword [ebp - 0x848]
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x814], 0x800
por xmm1, xmm0
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x80c], 0
movups xmm0, xmmword [ebp - 0x814]
mov dword [ebp - 0x8e0], 4
mov dword [ebp - 0x8dc], 0
por xmm1, xmm0
mov dword [ebp - 0x8d8], 0
mov dword [ebp - 0x8d4], 0
movups xmm0, xmmword [ebp - 0x8e0]
por xmm1, xmm0
movd edx, xmm1
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
mov dword [ebp - 0x808], edx
and edx, dword [ebp - 0x838]
and edx, 0x7fffffff
and ecx, eax
or edx, ecx
mov ecx, dword [ebx + 0x4c]
movaps xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
psrldq xmm1, 4
and ecx, eax
movd eax, xmm1
or edx, ecx
mov ecx, dword [ebx + 0x48]
and ecx, eax
or edx, ecx
je 0x102a17b9
mov eax, dword [ebp - 0x808]
shr eax, 0x1f
test al, al
jne 0x102a17b9
mov eax, 0x8000
xor ecx, ecx
jmp 0x102a17d0
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov ecx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
mov edi, dword [ebx + 0xc5dc]
and esi, 0xffff7fff
or esi, eax
or edi, ecx
mov eax, esi
and eax, 0x8000
or eax, 0
je 0x102a191f
mov ecx, dword [ebp - 0x824]
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x89c], 0
movups xmm0, xmmword [ebp - 0x8a8]
mov dword [ebp - 0x8e0], 0
mov dword [ebp - 0x8dc], 0
mov dword [ebp - 0x8d8], 0
mov dword [ebp - 0x8d4], 0
movups xmm1, xmmword [ebp - 0x8e0]
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0
por xmm1, xmm0
mov dword [ebp - 0x890], 0
mov dword [ebp - 0x88c], 0
movups xmm0, xmmword [ebp - 0x898]
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
por xmm1, xmm0
mov dword [ebp - 0x82c], 0x8000
mov dword [ebp - 0x828], 0
movups xmm0, xmmword [ebp - 0x834]
por xmm1, xmm0
movd edx, xmm1
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x808], edx
and edx, dword [ebp - 0x838]
and ecx, eax
psrldq xmm0, 8
and edx, 0x7fffffff
movd eax, xmm0
or edx, ecx
psrldq xmm1, 4
mov ecx, dword [ebx + 0x4c]
and ecx, eax
movd eax, xmm1
or edx, ecx
mov ecx, dword [ebx + 0x48]
and ecx, eax
or edx, ecx
je 0x102a1916
mov eax, dword [ebp - 0x808]
shr eax, 0x1f
test al, al
je 0x102a191f
mov eax, 0x8000
xor ecx, ecx
jmp 0x102a1936
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov ecx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
and esi, 0xffff7fff
or edi, ecx
or esi, eax
cmp dword [ebx + 0x190], 0x2000
jb 0x102a196f
cmp dword [ebx + 0x1474], 2
je 0x102a196f
test dword [ebp - 0x824], 0x3e8000
mov byte [ebx + 0xd628], 1
setne al
mov byte [ebx + 0xd629], al
mov eax, dword [ebx + 0xc390]
test al, 1
je 0x102a1982
mov ecx, 0x4000000
xor edx, edx
jmp 0x102a1999
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov edx, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x80c]
and esi, 0xfbffffff
or edi, edx
or esi, ecx
test al, 2
je 0x102a19b0
mov eax, 0x8000000
xor ecx, ecx
jmp 0x102a19c7
xorps xmm0, xmm0
movlpd qword [ebp - 0x80c], xmm0
mov ecx, dword [ebp - 0x808]
mov eax, dword [ebp - 0x80c]
or edi, ecx
and esi, 0xf7ffffff
mov ecx, dword [ebp - 4]
or esi, eax
mov dword [ebx + 0xc5dc], edi
mov eax, ebx
pop edi
mov dword [ebx + 0xc5d8], esi
xor ecx, ebp
pop esi
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x14