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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov esi, ecx
mov edx, dword [ebp + 8]
mov eax, dword [0x101b9014]
xor eax, ebp
mov dword [esp + 0xe8], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x98], ecx
cmp eax, ecx
mov dword [esp + 0x9c], eax
je 0x100f66cd
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x8c], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x80], eax
jmp 0x100f6704
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
movzx eax, byte [ebp + 0x10]
mov byte [esp + 0x6e], al
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 0xb0]
cmp eax, 0xffffffff
mov dword [esp + 0x44], esi
je 0x100f6773
mov ecx, dword [edx + 0xb0]
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
sub esi, edx
sar esi, 5
cmp esi, ecx
jbe 0x100f7999
shl ecx, 5
mov ecx, dword [edx + ecx + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xb0]
mov esi, dword [esp + 0x44]
jmp 0x100f6783
mov ecx, 0xffffffff
mov dword [esp + 0x94], 0xffffffff
cmp eax, 0xffffffff
setne byte [esp + 0x6f]
cmp byte [esp + 0x6e], 0
je 0x100f688c
lea eax, [esi + 4]
mov dword [esp + 0x4c], eax
cmp ecx, 0xffffffff
je 0x100f68e2
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x70], esp
mov edx, dword [edx + 0xb0]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, edx
jbe 0x100f79bc
mov ebx, edx
shl ebx, 5
mov eax, dword [eax + ebx + 0x18]
mov dword [eax + 0xb0], 0xffffffff
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
sub eax, edi
sar eax, 5
mov dword [esp + 0x5c], eax
cmp eax, edx
jbe 0x100f79bf
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x50], 0
mov dword [esp + 0x54], edx
jne 0x100f6e26
mov ecx, 1
mov eax, dword [esp + 0x38]
add eax, ecx
mov ecx, dword [esp + 0x3c]
mov edx, 0x80000000
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jae 0x100f6de8
mov eax, dword [esp + 0x48]
mov ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x40]
mov esi, 0x80000000
adc ecx, esi
mov dword [esp + 0x60], 0
mov esi, 1
cmp esi, eax
mov esi, dword [esp + 0x44]
sbb dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
jb 0x100f6e26
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
xor ecx, edx
or ecx, eax
mov ecx, dword [esp + 0x38]
mov eax, edx
je 0x100f6e26
int3
cmp ecx, 0xffffffff
je 0x100f780c
mov ebx, dword [edx + 0xb0]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 5
cmp edx, ebx
jbe 0x100f79c8
mov eax, esp
mov edx, ebx
shl edx, 5
mov ecx, dword [ecx + edx + 0x18]
mov dword [ecx + 0xb0], 0xffffffff
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov esi, edx
sub esi, ecx
sar esi, 5
dec esi
cmp esi, ebx
jne 0x100f6b3f
mov esi, dword [esp + 0x44]
jmp 0x100f7136
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edx
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
je 0x100f6db9
mov dword [esp + 0x54], edx
mov edx, ebx
add edx, ecx
mov esi, edi
adc esi, dword [esp + 0x3c]
mov dword [esp + 0x40], edi
mov eax, ebx
mov dword [esp + 0x48], ebx
seto bl
mov ecx, esi
sar ecx, 0x1f
test bl, bl
lea edi, [ecx - 0x80000000]
cmove ecx, edx
test bl, bl
cmove edi, esi
mov dword [esp + 0x5c], edi
sar dword [esp + 0x54], 5
mov edx, 1
lea ebx, [edx - 2]
mov esi, dword [esp + 0x38]
mov edx, esi
add edx, ebx
mov dword [esp + 0x70], edx
mov edx, 0x80000000
lea edi, [edx - 1]
mov edx, dword [esp + 0x3c]
adc edx, edi
add ebx, eax
mov eax, dword [esp + 0x40]
adc edi, eax
cmp ebx, 0xfffffffe
sbb edi, 0xffffffff
setb byte [esp + 0x60]
mov edi, dword [esp + 0x48]
xor edi, esi
mov ebx, eax
mov eax, dword [esp + 0x3c]
xor ebx, eax
or ebx, edi
sete bl
cmp dword [esp + 0x70], 0xfffffffe
mov esi, dword [esp + 0x44]
sbb edx, 0xffffffff
mov edi, dword [esp + 0x5c]
cmovae edi, eax
cmovae ecx, dword [esp + 0x38]
setb dl
cmp dword [esp + 0x50], 0
cmovne ecx, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
cmovne edi, dword [esp + 0x40]
mov dword [esp + 0x5c], edi
setne ch
or ch, dl
mov eax, dword [esp + 0x54]
or bl, byte [esp + 0x60]
or bl, ch
mov byte [esp + 0x3c], bl
nop word cs:[eax + eax]
mov dword [esp + 0x54], eax
lea edi, [eax - 1]
mov ebx, edi
shr ebx, 1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 5
cmp edx, ebx
jbe 0x100f799e
mov edx, ebx
shl edx, 5
lea esi, [ecx + edx]
cmp dword [ecx + edx + 0x14], 0
je 0x100f6a50
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp byte [esp + 0x3c], 0
jne 0x100f6af7
jmp 0x100f6b3c
mov dword [esp + 0x40], edi
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edx, eax
mov edi, 1
add edx, edi
mov dword [esp + 0x50], ecx
mov edi, 0x80000000
adc ecx, edi
cmp edx, 2
sbb ecx, 0
mov ecx, dword [esi]
mov esi, dword [esi + 4]
jae 0x100f6ac4
mov dword [esp + 0x48], ecx
mov edx, 1
add ecx, edx
mov edx, esi
mov edi, 0x80000000
adc edx, edi
mov edi, 1
cmp edi, ecx
mov ecx, 0
sbb ecx, edx
jb 0x100f6b25
mov ecx, dword [esp + 0x48]
xor ecx, eax
mov edx, dword [esp + 0x50]
xor esi, edx
or esi, ecx
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
je 0x100f6af0
jmp 0x100f79b9
add ecx, eax
adc esi, dword [esp + 0x50]
mov edi, ecx
seto cl
mov eax, esi
sar eax, 0x1f
lea edx, [eax - 0x80000000]
test cl, cl
cmove eax, edi
test cl, cl
cmove edx, esi
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x3c], 0
je 0x100f6b3c
cmp dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
sbb eax, edx
jge 0x100f6dbd
mov dword [esp], ecx
mov ecx, dword [esp + 0x4c]
mov edx, ebx
call fcn.100f8100
mov eax, ebx
cmp edi, 1
ja 0x100f6a00
jmp 0x100f6dbf
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x3c], 0
jne 0x100f6af7
int3
cmp edx, ecx
je 0x100f79dd
shl esi, 5
mov ecx, dword [ecx + esi + 0x18]
mov dword [ecx + 0xb0], 0xffffffff
mov esi, dword [esp + 0x44]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, ecx
je 0x100f79e0
mov dword [esp + 0x70], eax
lea eax, [esi + 4]
mov dword [esp + 0x54], eax
sar edi, 5
dec edi
mov edx, edi
shl edx, 5
movups xmm0, xmmword [ecx + edx]
movups xmm1, xmmword [ecx + edx + 0x10]
movaps xmmword [esp + 0xb0], xmm1
movaps xmmword [esp + 0xa0], xmm0
lea ecx, [ebx + ebx]
inc ecx
cmp ecx, edi
jae 0x100f6eee
mov eax, edi
lea edx, [ebx + ebx]
mov dword [esp + 0x5c], edi
jmp 0x100f6bd7
mov ecx, edx
mov edi, ecx
mov dword [esp], ebx
mov ecx, dword [esp + 0x54]
mov edx, edi
call fcn.100f8100
lea edx, [edi + edi]
lea ecx, [edi + edi]
inc ecx
mov ebx, edi
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jae 0x100f6ef0
add edx, 2
cmp edx, eax
jae 0x100f6bb2
mov dword [esp + 0x3c], ebx
mov ebx, dword [esi + 8]
mov esi, dword [esi + 0xc]
sub esi, ebx
sar esi, 5
cmp esi, edx
jbe 0x100f79ad
cmp esi, ecx
jbe 0x100f79b0
mov edi, ecx
shl edi, 5
lea esi, [ebx + edi]
cmp dword [ebx + edi + 0x14], 0
je 0x100f6c16
mov edi, dword [esi]
mov eax, dword [esi + 4]
jmp 0x100f6cc2
mov eax, dword [esi + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x38], eax
mov edi, 1
add eax, edi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c]
mov edi, 0x80000000
adc eax, edi
cmp dword [esp + 0x50], 2
sbb eax, 0
mov eax, dword [esi]
mov edi, dword [esi + 4]
jae 0x100f6c90
mov dword [esp + 0x40], eax
mov esi, 1
add eax, esi
mov dword [esp + 0x50], eax
mov esi, edi
mov eax, 0x80000000
adc esi, eax
mov eax, 1
cmp eax, dword [esp + 0x50]
mov eax, 0
sbb eax, esi
jb 0x100f6d9e
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
xor eax, esi
xor edi, dword [esp + 0x4c]
or edi, eax
mov edi, esi
je 0x100f6cc6
jmp 0x100f79cb
add eax, dword [esp + 0x38]
adc edi, dword [esp + 0x4c]
seto byte [esp + 0x4c]
mov dword [esp + 0x38], edi
mov esi, edi
sar esi, 0x1f
mov edi, eax
lea eax, [esi - 0x80000000]
cmp byte [esp + 0x4c], 0
cmove esi, edi
mov edi, esi
cmp byte [esp + 0x4c], 0
cmove eax, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edi
mov eax, edx
shl eax, 5
add ebx, eax
cmp dword [ebx + 0x14], 0
mov esi, dword [esp + 0x44]
je 0x100f6ce5
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x100f6d83
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov dword [esp + 0x40], eax
mov esi, 1
add eax, esi
mov dword [esp + 0x50], edi
mov esi, edi
mov edi, 0x80000000
adc esi, edi
cmp eax, 2
sbb esi, 0
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
jae 0x100f6d57
mov dword [esp + 0x48], eax
mov esi, 1
add eax, esi
mov esi, ebx
mov edi, 0x80000000
adc esi, edi
mov edi, 1
cmp edi, eax
mov eax, 0
sbb eax, esi
jb 0x100f6da7
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
xor esi, edi
mov eax, dword [esp + 0x50]
xor ebx, eax
or ebx, esi
mov ebx, eax
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
je 0x100f6d87
jmp 0x100f79ce
add eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
adc ebx, dword [esp + 0x50]
seto al
mov edi, ebx
sar edi, 0x1f
lea esi, [edi - 0x80000000]
test al, al
cmove edi, dword [esp + 0x48]
test al, al
cmove esi, ebx
mov ebx, esi
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
cmp edi, dword [esp + 0x38]
sbb ebx, eax
mov ebx, dword [esp + 0x3c]
jl 0x100f6bb0
mov edx, ecx
jmp 0x100f6bb0
mov edi, dword [esp + 0x38]
jmp 0x100f6cc6
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
jmp 0x100f6d87
xor ebx, ebx
jmp 0x100f6dbf
mov ebx, ecx
movups xmm0, xmmword [esp + 0xa0]
movups xmm1, xmmword [esp + 0xb0]
movups xmmword [esp + 0x10], xmm1
movups xmmword [esp], xmm0
mov ecx, dword [esp + 0x4c]
mov edx, ebx
call fcn.100f8280
jmp 0x100f780c
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x38]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x40]
adc edx, dword [esp + 0x3c]
seto byte [esp + 0x58]
mov ecx, edx
sar ecx, 0x1f
lea eax, [ecx - 0x80000000]
mov dword [esp + 0x60], eax
cmp byte [esp + 0x58], 0
cmove ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
cmp byte [esp + 0x58], 0
cmove eax, edx
add edi, ebx
cmp dword [edi + 0x14], 0
je 0x100f6e38
mov edx, dword [edi]
mov ebx, dword [edi + 4]
jmp 0x100f7153
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], eax
mov ebx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov esi, 1
mov eax, edx
add eax, esi
mov esi, ebx
mov ecx, 0x80000000
adc esi, ecx
cmp eax, 2
sbb esi, 0
mov esi, dword [edi]
mov eax, dword [edi + 4]
jae 0x100f6eb9
mov dword [esp + 0x64], esi
mov edi, 1
add dword [esp + 0x64], edi
mov dword [esp + 0x68], eax
mov edi, 0x80000000
adc dword [esp + 0x68], edi
mov dword [esp + 0x74], 0
mov edi, 1
cmp edi, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
sbb edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
jb 0x100f714b
xor esi, edx
xor eax, ebx
or eax, esi
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
je 0x100f7153
int3
add esi, edx
adc eax, ebx
seto byte [esp + 0x64]
mov edx, eax
sar edx, 0x1f
lea ebx, [edx - 0x80000000]
cmp byte [esp + 0x64], 0
cmove edx, esi
cmp byte [esp + 0x64], 0
cmove ebx, eax
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
jmp 0x100f7153
mov edi, ebx
test edi, edi
je 0x100f7102
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x3c], esi
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x5c], ebx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x38], edx
add eax, edx
adc esi, ebx
seto cl
mov edx, esi
sar edx, 0x1f
test cl, cl
lea ebx, [edx - 0x80000000]
cmove edx, eax
test cl, cl
cmove ebx, esi
mov eax, 1
lea ecx, [eax - 2]
mov eax, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x40], eax
mov eax, 0x80000000
lea eax, [eax - 1]
mov esi, dword [esp + 0x5c]
adc esi, eax
mov dword [esp + 0x48], esi
add ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
adc eax, esi
cmp ecx, 0xfffffffe
sbb eax, 0xffffffff
setb byte [esp + 0x50]
xor esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x38]
or ecx, esi
sete ah
cmp dword [esp + 0x40], 0xfffffffe
sbb dword [esp + 0x48], 0xffffffff
mov esi, dword [esp + 0x44]
cmovae ebx, dword [esp + 0x5c]
cmovae edx, dword [esp + 0x38]
setb al
cmp dword [esp + 0xb4], 0
cmovne edx, dword [esp + 0x4c]
mov dword [esp + 0x5c], edx
cmovne ebx, dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
setne cl
or cl, al
or ah, byte [esp + 0x50]
or ah, cl
mov byte [esp + 0x50], ah
nop
lea ebx, [edi - 1]
mov dword [esp + 0x4c], ebx
shr ebx, 1
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, ebx
jbe 0x100f79aa
mov ecx, ebx
shl ecx, 5
lea edx, [eax + ecx]
cmp dword [eax + ecx + 0x14], 0
je 0x100f7010
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp byte [esp + 0x50], 0
jne 0x100f70c7
jmp 0x100f70ff
mov esi, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [esp + 0x40], ecx
mov eax, 1
add ecx, eax
mov dword [esp + 0x38], esi
mov eax, 0x80000000
adc esi, eax
cmp ecx, 2
sbb esi, 0
mov esi, dword [edx]
mov edx, dword [edx + 4]
jae 0x100f7084
mov eax, dword [esp + 0x40]
mov dword [esp + 0x60], esi
mov ecx, 1
add esi, ecx
mov dword [esp + 0x48], esi
mov esi, edx
mov ecx, 0x80000000
adc esi, ecx
mov ecx, 1
cmp ecx, dword [esp + 0x48]
mov ecx, 0
sbb ecx, esi
jb 0x100f70f0
mov esi, dword [esp + 0x60]
xor esi, eax
mov ecx, dword [esp + 0x38]
xor edx, ecx
or edx, esi
mov esi, dword [esp + 0x44]
je 0x100f70c0
jmp 0x100f79d4
add esi, dword [esp + 0x40]
adc edx, dword [esp + 0x38]
seto byte [esp + 0x40]
mov eax, edx
sar eax, 0x1f
lea ecx, [eax - 0x80000000]
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x40]
test cl, cl
cmove eax, esi
test cl, cl
mov ecx, dword [esp + 0x38]
cmove ecx, edx
mov esi, dword [esp + 0x44]
nop word [eax + eax]
cmp byte [esp + 0x50], 0
je 0x100f70ff
cmp dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
sbb eax, ecx
jge 0x100f7106
mov dword [esp], edi
mov ecx, dword [esp + 0x54]
mov edx, ebx
call fcn.100f8100
mov edi, ebx
cmp dword [esp + 0x4c], 1
ja 0x100f6fd0
jmp 0x100f7108
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
cmp byte [esp + 0x50], 0
jne 0x100f70c7
int3
xor ebx, ebx
jmp 0x100f7108
mov ebx, edi
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movups xmmword [esp + 0x10], xmm1
movups xmmword [esp], xmm0
mov ecx, dword [esp + 0x54]
mov edx, ebx
call fcn.100f8280
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x70]
cmp ecx, edx
je 0x100f79d1
mov esp, eax
add edx, 0xffffffe0
mov dword [esi + 0xc], edx
jmp 0x100f780c
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
cmp edx, ecx
sbb ebx, eax
jge 0x100f7580
mov eax, dword [esp + 0x48]
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 0xa4], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x3c]
mov edi, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xb4], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0xb8], eax
mov ebx, dword [esp + 0x54]
lea eax, [ebx + ebx]
inc eax
cmp eax, dword [esp + 0x5c]
jae 0x100f77e4
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x38]
add eax, esi
mov ecx, edx
adc ecx, edi
seto bl
mov byte [esp + 0x58], bl
mov edx, ecx
sar edx, 0x1f
test bl, bl
lea ebx, [edx - 0x80000000]
cmove edx, eax
cmp byte [esp + 0x58], 0
cmove ebx, ecx
mov eax, 1
add eax, 0xfffffffe
add esi, eax
mov dword [esp + 0x58], esi
mov ecx, 0x80000000
lea esi, [ecx - 1]
adc edi, esi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x48]
add eax, edi
mov ecx, dword [esp + 0x40]
adc esi, ecx
cmp eax, 0xfffffffe
sbb esi, 0xffffffff
setb al
mov esi, edi
xor esi, dword [esp + 0x38]
mov edi, ecx
mov ecx, dword [esp + 0x3c]
xor edi, ecx
or edi, esi
mov esi, dword [esp + 0x44]
sete ah
cmp dword [esp + 0x58], 0xfffffffe
sbb dword [esp + 0x64], 0xffffffff
cmovae ebx, ecx
cmovae edx, dword [esp + 0x38]
setb cl
cmp dword [esp + 0x50], 0
cmovne edx, dword [esp + 0x48]
mov dword [esp + 0x50], edx
cmovne ebx, dword [esp + 0x40]
mov dword [esp + 0x40], ebx
setne dl
or dl, cl
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
add edi, edi
or ah, al
or ah, dl
mov byte [esp + 0x48], ah
mov eax, dword [esp + 0x60]
nop dword [eax]
add edi, 2
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
sub esi, edx
sar esi, 5
cmp edi, ecx
jae 0x100f72d0
cmp esi, edi
jbe 0x100f79b3
cmp esi, eax
jbe 0x100f79b6
mov dword [esp + 0x60], eax
mov ecx, eax
shl ecx, 5
lea eax, [edx + ecx]
cmp dword [edx + ecx + 0x14], 0
je 0x100f72d7
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
mov ebx, dword [eax + 4]
jmp 0x100f7395
mov ebx, eax
jmp 0x100f7482
mov dword [esp + 0x64], esi
mov ebx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
mov esi, 1
add ecx, esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x38], ebx
mov ecx, 0x80000000
adc ebx, ecx
cmp dword [esp + 0x58], 2
sbb ebx, 0
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jae 0x100f7351
mov dword [esp + 0x58], ebx
mov ecx, 1
add dword [esp + 0x58], ecx
mov dword [esp + 0x68], eax
mov ecx, 0x80000000
adc dword [esp + 0x68], ecx
mov ecx, 1
cmp ecx, dword [esp + 0x58]
mov ecx, 0
sbb ecx, dword [esp + 0x68]
jb 0x100f738d
xor ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
xor eax, ecx
or eax, ebx
mov ebx, ecx
mov esi, dword [esp + 0x64]
je 0x100f7395
jmp 0x100f79d7
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
adc eax, dword [esp + 0x38]
seto byte [esp + 0x58]
mov ecx, eax
sar ecx, 0x1f
lea ebx, [ecx - 0x80000000]
mov dword [esp + 0x38], ebx
cmp byte [esp + 0x58], 0
cmove ecx, dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x38]
cmp byte [esp + 0x58], 0
cmove ebx, eax
jmp 0x100f7391
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x64]
mov ecx, edi
shl ecx, 5
add ecx, edx
cmp dword [ecx + 0x14], 0
mov dword [esp + 0x38], ebx
je 0x100f73b4
mov ebx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x3c]
jmp 0x100f7474
mov dword [esp + 0x74], edi
mov ebx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0x64], eax
mov edi, 1
add eax, edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], ebx
mov eax, 0x80000000
adc ebx, eax
cmp dword [esp + 0x68], 2
sbb ebx, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jae 0x100f7432
mov dword [esp + 0x68], eax
mov ebx, 1
add eax, ebx
mov dword [esp + 0x7c], ecx
mov ebx, 0x80000000
adc ecx, ebx
mov ebx, 1
cmp ebx, eax
mov eax, 0
sbb eax, ecx
jb 0x100f7464
mov ebx, dword [esp + 0x64]
xor dword [esp + 0x68], ebx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x7c]
xor ecx, eax
or ecx, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x74]
je 0x100f7474
jmp 0x100f79da
add eax, dword [esp + 0x64]
mov dword [esp + 0x68], eax
adc ecx, dword [esp + 0x58]
mov ebx, ecx
mov dword [esp + 0x7c], ecx
seto cl
sar ebx, 0x1f
lea eax, [ebx - 0x80000000]
test cl, cl
cmove ebx, dword [esp + 0x68]
test cl, cl
cmove eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
jmp 0x100f7470
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
cmp ebx, ecx
sbb eax, dword [esp + 0x38]
jl 0x100f7480
mov edi, dword [esp + 0x60]
mov ebx, edi
cmp esi, ebx
jbe 0x100f79a4
cmp byte [esp + 0x48], 0
mov esi, dword [esp + 0x44]
je 0x100f79a7
mov eax, ebx
shl eax, 5
add edx, eax
cmp dword [edx + 0x14], 0
je 0x100f74b0
mov eax, dword [edx]
mov ecx, dword [edx + 4]
jmp 0x100f7544
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov esi, eax
mov edi, 1
add esi, edi
mov edi, ecx
mov dword [esp + 0x38], edx
mov edx, 0x80000000
adc edi, edx
cmp esi, 2
sbb edi, 0
mov edx, dword [esp + 0x38]
mov esi, dword [edx]
mov edx, dword [edx + 4]
jae 0x100f751c
mov dword [esp + 0x38], esi
mov edi, 1
add dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov edi, 0x80000000
adc dword [esp + 0x3c], edi
mov edi, 1
cmp edi, dword [esp + 0x38]
mov edi, 0
sbb edi, dword [esp + 0x3c]
jb 0x100f7540
xor esi, eax
xor edx, ecx
or edx, esi
mov esi, dword [esp + 0x44]
je 0x100f7544
jmp 0x100f79c5
add esi, eax
adc edx, ecx
seto byte [esp + 0x38]
mov eax, edx
sar eax, 0x1f
lea ecx, [eax - 0x80000000]
cmp byte [esp + 0x38], 0
cmove eax, esi
cmp byte [esp + 0x38], 0
cmove ecx, edx
mov esi, dword [esp + 0x44]
cmp eax, dword [esp + 0x50]
sbb ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
jge 0x100f77e2
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov edx, ebx
call fcn.100f8100
lea edi, [ebx + ebx]
lea eax, [ebx + ebx]
inc eax
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jb 0x100f7280
jmp 0x100f77e4
mov edx, dword [esp + 0x48]
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0x40]
mov edi, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa8], eax
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xb4], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0xb8], eax
cmp dword [esp + 0x54], 0
je 0x100f77d8
mov eax, edx
mov esi, dword [esp + 0x38]
add eax, esi
mov ecx, edi
adc ecx, ebx
mov edi, ebx
seto bl
mov byte [esp + 0x5c], bl
mov edx, ecx
sar edx, 0x1f
test bl, bl
lea ebx, [edx - 0x80000000]
cmove edx, eax
cmp byte [esp + 0x5c], 0
cmove ebx, ecx
mov eax, 1
add eax, 0xfffffffe
add esi, eax
mov dword [esp + 0x5c], esi
mov ecx, 0x80000000
lea esi, [ecx - 1]
mov ecx, edi
adc ecx, esi
mov edi, dword [esp + 0x48]
add eax, edi
adc esi, dword [esp + 0x40]
cmp eax, 0xfffffffe
sbb esi, 0xffffffff
setb byte [esp + 0x60]
mov esi, edi
xor esi, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
xor edi, dword [esp + 0x3c]
or edi, esi
mov esi, dword [esp + 0x44]
sete ah
cmp dword [esp + 0x5c], 0xfffffffe
sbb ecx, 0xffffffff
cmovae ebx, dword [esp + 0x3c]
cmovae edx, dword [esp + 0x38]
setb cl
cmp dword [esp + 0x50], 0
cmovne edx, dword [esp + 0x48]
mov dword [esp + 0x5c], edx
cmovne ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
setne dl
or dl, cl
or ah, byte [esp + 0x60]
or ah, dl
mov byte [esp + 0x50], ah
mov eax, dword [esp + 0x54]
nop dword [eax + eax]
mov dword [esp + 0x54], eax
lea edi, [eax - 1]
mov ebx, edi
shr ebx, 1
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 5
cmp eax, ebx
jbe 0x100f79a1
mov edx, ebx
shl edx, 5
lea eax, [ecx + edx]
cmp dword [ecx + edx + 0x14], 0
je 0x100f76e0
mov edx, dword [eax]
mov ecx, dword [eax + 4]
cmp byte [esp + 0x50], 0
jne 0x100f7797
jmp 0x100f77d5
mov dword [esp + 0x40], edi
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov esi, edx
mov edi, 1
add esi, edi
mov dword [esp + 0x38], ecx
mov edi, 0x80000000
adc ecx, edi
cmp esi, 2
sbb ecx, 0
mov esi, dword [eax]
mov eax, dword [eax + 4]
jae 0x100f7756
mov dword [esp + 0x48], esi
mov ecx, 1
add dword [esp + 0x48], ecx
mov dword [esp + 0x60], eax
mov ecx, 0x80000000
adc dword [esp + 0x60], ecx
mov ecx, 1
cmp ecx, dword [esp + 0x48]
mov ecx, 0
sbb ecx, dword [esp + 0x60]
jb 0x100f77c2
xor esi, edx
mov ecx, dword [esp + 0x38]
xor eax, ecx
or eax, esi
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
je 0x100f7790
jmp 0x100f79c2
add esi, edx
adc eax, dword [esp + 0x38]
seto byte [esp + 0x48]
mov edx, eax
sar edx, 0x1f
lea ecx, [edx - 0x80000000]
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x48]
test cl, cl
cmove edx, esi
test cl, cl
mov ecx, dword [esp + 0x38]
cmove ecx, eax
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
nop dword [eax + eax]
cmp byte [esp + 0x50], 0
je 0x100f77d5
cmp dword [esp + 0x5c], edx
mov eax, dword [esp + 0x3c]
sbb eax, ecx
jge 0x100f77dc
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov edx, ebx
call fcn.100f8100
mov eax, ebx
cmp edi, 1
ja 0x100f7690
jmp 0x100f77e4
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x50], 0
jne 0x100f7797
int3
xor ebx, ebx
jmp 0x100f77e4
mov ebx, dword [esp + 0x54]
jmp 0x100f77e4
mov ebx, eax
movups xmm0, xmmword [esp + 0xa0]
movups xmm1, xmmword [esp + 0xb0]
movups xmmword [esp + 0x10], xmm1
movups xmmword [esp], xmm0
mov ecx, dword [esp + 0x4c]
mov edx, ebx
call fcn.100f8280
mov esp, dword [esp + 0x70]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
cmp eax, ecx
je 0x100f782e
mov edi, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov dword [esp + 0x54], ebx
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x4c], ebx
jmp 0x100f7844
xor edi, edi
xor edx, edx
mov dword [esp + 0x54], 0
xor esi, esi
mov dword [esp + 0x4c], 0
cmp dword [esp + 0x94], 1
sete bl
mov bh, byte [esp + 0x6f]
and bh, bl
cmp bh, 1
jne 0x100f7861
mov ebx, dword [esp + 0x44]
dec dword [ebx + 0x14]
cmp byte [esp + 0x6e], 0
je 0x100f7876
cmp dword [esp + 0x78], 1
jne 0x100f7876
mov ebx, dword [esp + 0x44]
inc dword [ebx + 0x14]
mov ebx, dword [esp + 0x98]
cmp dword [esp + 0x9c], ebx
je 0x100f78c5
cmp eax, ecx
je 0x100f78c5
xor edi, dword [esp + 0x90]
xor edx, dword [esp + 0x8c]
or edx, edi
jne 0x100f78e3
mov edx, dword [esp + 0x54]
xor edx, dword [esp + 0x84]
xor esi, dword [esp + 0x88]
or esi, edx
jne 0x100f78e3
mov edx, dword [esp + 0x4c]
cmp edx, dword [esp + 0x80]
je 0x100f7981
jmp 0x100f78e3
cmp eax, ecx
sete dl
mov esi, dword [esp + 0x98]
cmp dword [esp + 0x9c], esi
sete dh
cmp dh, dl
je 0x100f7981
mov esi, dword [ebp + 0xc]
cmp eax, ecx
je 0x100f7914
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x14]
mov byte [esp + 0xc0], 1
movups xmmword [esp + 0xc8], xmm0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
jmp 0x100f793d
mov byte [esp + 0xc0], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xc8], xmm0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [section..00cfg]
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x24], xmm0
movups xmm0, xmmword [esp + 0xc0]
movups xmm1, xmmword [esp + 0xd0]
movups xmmword [esp + 0x14], xmm1
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
mov ecx, ebx
call edi
sub esp, 0x2c
mov ecx, dword [esp + 0xe8]
xor ecx, ebp
call fcn.101465a3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x30
call fcn.1015b4f0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3