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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0xa8
push ebx
mov ebx, ecx
xor eax, eax
test byte [ebx + 0x34], 8
jne 0x100e7543
push esi
push edi
xor edi, edi
cmp dword [ebx + 4], edi
mov dword [ebp + 0x1c], edi
jbe 0x100e6836
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*4]
inc eax
mov dword [ecx + 0x10], edi
cmp eax, dword [ebx + 4]
jb 0x100e6827
xor edx, edx
cmp dword [ebx + 8], edi
jbe 0x100e6871
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
cmp dword [ebx + 0x4c], eax
je 0x100e686b
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 4]
test cl, 2
je 0x100e686b
test ch, 2
jne 0x100e686b
mov esi, dword [esi + 8]
lea ecx, [esi + 1]
cmp dword [eax + 0x10], ecx
jae 0x100e686b
mov dword [eax + 0x10], ecx
inc edx
cmp edx, dword [ebx + 8]
jb 0x100e683d
xor eax, eax
cmp dword [ebx + 4], edi
jbe 0x100e6889
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov esi, dword [ecx]
add eax, dword [esi + 0x10]
add ecx, 4
dec edx
jne 0x100e687e
mov esi, eax
shl esi, 2
push esi
call fcn.101134ba
mov edi, eax
test edi, edi
pop ecx
mov dword [ebp + 8], edi
je 0x100e7549
mov ecx, esi
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor edx, edx
xor ecx, ecx
cmp dword [ebx + 4], edx
jbe 0x100e68e4
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + edx*4]
mov esi, dword [eax + 0x10]
mov edi, dword [ebp + 8]
neg esi
sbb esi, esi
lea edi, [edi + ecx*4]
and esi, edi
mov dword [eax + 0x1c], esi
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + edx*4]
add ecx, dword [esi + 0x10]
inc edx
cmp edx, dword [ebx + 4]
jb 0x100e68c0
xor esi, esi
xor edx, edx
cmp dword [ebx + 8], esi
jbe 0x100e691d
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax]
cmp dword [ebx + 0x4c], ecx
je 0x100e6917
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + ecx*4]
mov ecx, dword [ecx + 0x1c]
cmp ecx, esi
je 0x100e6917
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [ecx + edi*4]
inc eax
cmp dword [ecx], eax
jae 0x100e6917
mov dword [ecx], eax
inc edx
cmp edx, dword [ebx + 8]
jb 0x100e68ed
mov eax, dword [ebx + 0x90]
test al, 6
jne 0x100e6c8d
mov ecx, ebx
call fcn.100e0e4d
cmp dword [ebx + 0xc], esi
mov dword [ebp + 0x64], esi
jbe 0x100e6c8d
mov edi, dword [ebx + 0x18]
mov eax, dword [ebp + 0x64]
mov eax, dword [edi + eax*4]
cmp dword [eax], 0x24000001
mov dword [ebp + 0x68], eax
jne 0x100e6c7e
mov eax, dword [eax + 8]
mov edx, dword [eax]
mov ecx, dword [ebx + 0x14]
mov eax, dword [eax + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + 0x10]
mov esi, dword [edx]
mov esi, dword [eax + esi*4]
test byte [esi + 4], 2
je 0x100e6c7e
mov esi, dword [ecx]
mov eax, dword [eax + esi*4]
test byte [eax + 4], 2
je 0x100e6c7e
mov eax, dword [edx + 0x2c]
mov esi, dword [edi + eax*4]
cmp dword [esi], 0x25000001
mov eax, dword [ecx + 0x2c]
mov edi, dword [edi + eax*4]
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], edi
je 0x100e69b1
mov ecx, esi
call fcn.100dd037
test eax, eax
je 0x100e6c7e
cmp dword [edi], 0x25000001
je 0x100e69c8
mov ecx, edi
call fcn.100dd037
test eax, eax
je 0x100e6c7e
mov edx, dword [ebx + 0x90]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 4]
not edx
and edx, 0x20
shr ecx, 1
shr eax, 1
or edx, 0x40
mov dword [ebp + 0x3c], ecx
add ecx, eax
shr edx, 5
cmp ecx, edx
mov dword [ebp + 0x6c], ecx
jb 0x100e6c7e
cmp ecx, 4
ja 0x100e6c7e
mov edx, dword [esi + 0x10]
mov edx, dword [edx]
mov ecx, dword [ebx + 0x14]
mov esi, dword [ecx + edx*4]
mov edx, dword [ebp + 0x64]
cmp edx, dword [esi + 0x38]
jne 0x100e6c7e
cmp edx, dword [esi + 0x3c]
jne 0x100e6c7e
mov esi, dword [edi + 0x10]
mov esi, dword [esi]
mov ecx, dword [ecx + esi*4]
cmp edx, dword [ecx + 0x38]
jne 0x100e6c7e
cmp edx, dword [ecx + 0x3c]
jne 0x100e6c7e
mov ecx, dword [ebp + 0x50]
mov esi, dword [ecx + 8]
shl eax, 2
mov dword [ebp + 0x5c], esi
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [edx + 8]
mov ecx, dword [ebp + 0x3c]
shl ecx, 2
mov dword [ebp + 0x40], ecx
mov edx, ecx
shr ecx, 2
mov dword [ebp + 0x38], esi
lea edi, [ebp + eax + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x5c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [edx + eax]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x38]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x40]
lea esi, [edx + ecx]
lea edi, [ebp + eax - 0xc]
mov dword [ebp + 0x48], eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0xffffffffffffffff
push dword [ebp + 0x68]
mov ecx, eax
push 0
push 0
push dword [ebp + 0x6c]
and ecx, 3
lea eax, [ebp + 0xc]
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, ebx
call fcn.100e0532
test eax, eax
je 0x100e6aee
push 0xffffffffffffffff
push dword [ebp + 0x68]
xor esi, esi
push esi
push esi
push dword [ebp + 0x6c]
lea eax, [ebp - 0xc]
push eax
mov ecx, ebx
call fcn.100e0532
test eax, eax
je 0x100e6aee
mov dword [ebp + 0x48], esi
jmp 0x100e6ba6
mov eax, dword [ebp + 0x50]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x48]
mov edx, ecx
shr ecx, 2
mov esi, eax
lea edi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ecx + 8]
mov ecx, dword [ebp + 0x40]
mov edi, dword [ebp + 0x48]
lea esi, [edx + ecx]
lea edi, [ebp + edi + 0x28]
mov dword [ebp + 0x38], edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x48]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + edx]
mov ecx, edx
mov eax, ecx
shr ecx, 2
lea edi, [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x40]
mov esi, dword [ebp + 0x38]
mov eax, ecx
shr ecx, 2
lea edi, [ebp + edx - 0x1c]
rep movsd dword es:[edi], dword [esi]
push 0xffffffffffffffff
push dword [ebp + 0x68]
mov ecx, eax
push 0
push 0
push dword [ebp + 0x6c]
and ecx, 3
lea eax, [ebp + 0x28]
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, ebx
call fcn.100e0532
test eax, eax
je 0x100e6c7e
push 0xffffffffffffffff
push dword [ebp + 0x68]
lea eax, [ebp - 0x1c]
push 0
push 0
push dword [ebp + 0x6c]
mov ecx, ebx
push eax
call fcn.100e0532
test eax, eax
je 0x100e6c7e
mov dword [ebp + 0x48], 1
xor esi, esi
push 0x38
call fcn.101134ba
cmp eax, esi
pop ecx
je 0x100e6bbe
mov ecx, eax
call fcn.100dcc79
mov dword [ebp + 0x44], eax
jmp 0x100e6bc1
mov dword [ebp + 0x44], esi
cmp dword [ebp + 0x44], esi
je 0x100e7549
mov eax, dword [ebp + 0x6c]
mov edi, dword [ebp + 0x44]
push 0
lea ecx, [eax + eax]
push 1
and eax, 0xffffff
push ecx
or eax, 0x30000000
push eax
mov ecx, edi
call fcn.100dccd0
mov esi, eax
test esi, esi
jl 0x100e6d35
push dword [ebp + 0x68]
mov ecx, edi
call fcn.100dcfb2
mov esi, eax
test esi, esi
jl 0x100e6d35
cmp dword [ebp + 0x48], 0
mov eax, dword [ebp + 0x68]
mov eax, dword [eax + 0x10]
mov ecx, dword [edi + 0x10]
mov eax, dword [eax]
mov dword [ecx], eax
lea esi, [ebp + 0xc]
je 0x100e6c21
lea esi, [ebp + 0x28]
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x44]
mov edi, dword [edx + 8]
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp dword [ebp + 0x48], 0
rep movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0xc]
je 0x100e6c49
lea esi, [ebp - 0x1c]
mov edx, dword [ebp + 0x44]
mov edi, dword [edx + 8]
mov ecx, eax
shr ecx, 2
add edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp + 0x64]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp + 0x68]
push 1
call fcn.100dc69f
mov eax, dword [ebp + 0x50]
and dword [eax], 0
mov eax, dword [ebp + 0x4c]
and dword [eax], 0
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebx + 0xc]
jb 0x100e693e
mov ecx, ebx
call fcn.100e0e4d
and dword [ebp + 0x64], 0
cmp dword [ebx + 0xc], 0
jbe 0x100e752c
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp + 0x64]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov dword [ebp + 0x3c], edi
call fcn.100dd07f
test eax, eax
jne 0x100e6cd3
mov ecx, edi
call fcn.100dd091
test eax, eax
jne 0x100e6cd3
mov ecx, edi
call fcn.100dd0a3
test eax, eax
je 0x100e751d
mov ecx, edi
call fcn.100dd013
test eax, eax
jne 0x100e6ceb
test byte [ebx + 0x90], 6
jne 0x100e751d
mov eax, dword [edi + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 0x1c]
test eax, eax
mov dword [ebp + 0x40], eax
je 0x100e751d
mov eax, dword [ebx + 0xc]
and dword [ebp + 0x44], 0
cmp dword [edi + 4], 0
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x48], eax
jbe 0x100e6d71
mov eax, dword [edi + 8]
mov dword [ebp + 0x50], eax
mov eax, dword [edi + 4]
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
jmp 0x100e6d63
mov ecx, edi
push 1
call fcn.100dc69f
jmp 0x100e7536
mov eax, dword [ecx + eax*4]
mov esi, dword [eax]
mov edx, dword [ebx + 0x10]
mov edx, dword [edx + esi*4]
test byte [edx + 4], 2
je 0x100e6d60
mov edx, dword [eax + 0x2c]
inc edx
cmp dword [ebp + 0x44], edx
jae 0x100e6d60
mov dword [ebp + 0x44], edx
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jne 0x100e6d43
add dword [ebp + 0x50], 4
dec dword [ebp + 0x5c]
jne 0x100e6d2e
cmp dword [edi + 0xc], 0
jbe 0x100e6dbf
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
mov dword [ebp + 0x5c], eax
mov eax, dword [esi]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x38]
cmp dword [ebp + 0x38], edx
jbe 0x100e6daf
mov dword [ebp + 0x38], edx
jmp 0x100e6daf
mov eax, dword [ecx + eax*4]
mov edi, dword [eax]
mov edx, dword [ebx + 0x10]
mov edx, dword [edx + edi*4]
test byte [edx + 4], 2
je 0x100e6daf
mov edx, dword [eax + 0x2c]
inc edx
cmp dword [ebp + 0x44], edx
jae 0x100e6daf
mov dword [ebp + 0x44], edx
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jne 0x100e6d92
add esi, 4
dec dword [ebp + 0x5c]
jne 0x100e6d80
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x68], eax
jmp 0x100e7289
mov eax, dword [ebp + 0x68]
cmp dword [ebp + 0x64], eax
je 0x100e7283
cmp dword [ebp + 0x64], eax
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + eax*4]
mov dword [ebp + 0x20], ecx
jae 0x100e6de9
mov dword [ebp + 0x58], ecx
jmp 0x100e6def
mov edx, dword [ebp + 0x3c]
mov dword [ebp + 0x58], edx
cmp dword [ebp + 0x64], eax
jae 0x100e6df7
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ecx]
mov dword [ebp + 0x70], ecx
mov ecx, dword [ebp + 0x58]
xor eax, dword [ecx]
test eax, 0xff000000
jne 0x100e7283
mov ecx, dword [ebp + 0x70]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx]
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x58]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
cmp ecx, dword [edx]
mov dword [ebp + 0x6c], ecx
jne 0x100e7283
mov ecx, dword [eax + 4]
cmp ecx, dword [edx + 4]
jne 0x100e7283
mov esi, dword [ebp + 0x70]
mov ecx, dword [esi + 4]
mov edi, dword [ebp + 0x58]
add ecx, dword [edi + 4]
mov dword [ebp + 4], ecx
mov ecx, dword [esi + 0xc]
mov esi, dword [edi + 0xc]
mov dword [ebp + 0x4c], ecx
add ecx, esi
cmp ecx, 4
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x60], ecx
ja 0x100e7283
mov eax, dword [eax + 8]
mov edx, dword [edx + 8]
cmp eax, edx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x5c], edx
je 0x100e6eae
test byte [ebx + 0x90], 6
jne 0x100e7283
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [eax + ecx*4]
test byte [eax + 4], 0x10
jne 0x100e7283
mov eax, dword [ebp + 0x40]
mov ecx, edx
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp + 0x50]
add ecx, dword [eax + edx*4]
cmp ecx, 4
ja 0x100e7283
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x68]
cmp eax, ecx
mov dword [ebp + 0x74], eax
jb 0x100e6ebe
mov dword [ebp + 0x74], ecx
mov esi, dword [ebp + 0x58]
mov ecx, esi
call fcn.100dd013
test eax, eax
jne 0x100e71f0
mov ecx, esi
call fcn.100dd025
test eax, eax
jne 0x100e71f0
mov ecx, esi
call fcn.100dd07f
test eax, eax
je 0x100e6f35
mov eax, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x70]
mov esi, dword [edx + 8]
push dword [ebp + 0x74]
shl eax, 2
push dword [ebp + 0x70]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x58]
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov esi, dword [edx + 8]
mov ecx, dword [ebp + 0x54]
push 0
push dword [ebp + 0x60]
lea edi, [ebp + eax + 0x28]
lea eax, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebx
call fcn.100e0532
jmp 0x100e71ea
mov ecx, esi
call fcn.100dd091
test eax, eax
je 0x100e70ce
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x70]
mov esi, dword [ecx + 8]
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x58]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [edx + 8]
mov ecx, dword [ebp + 0x54]
shl ecx, 2
mov dword [ebp + 0x4c], ecx
mov edx, ecx
shr ecx, 2
mov dword [ebp + 0x6c], esi
lea edi, [ebp + eax + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x70]
mov edx, dword [edx + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp + 0x74]
lea esi, [edx + eax]
mov ecx, eax
mov edx, ecx
shr ecx, 2
push dword [ebp + 0x70]
lea edi, [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x6c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x4c]
lea esi, [edx + ecx]
lea edi, [ebp + eax + 0xc]
mov dword [ebp + 0x24], eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
push 0
push dword [ebp + 0x60]
and ecx, 3
lea eax, [ebp + 0x28]
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, ebx
call fcn.100e0532
push dword [ebp + 0x74]
mov esi, eax
push dword [ebp + 0x70]
lea eax, [ebp + 0xc]
push 0
push 0
push dword [ebp + 0x60]
mov ecx, ebx
push eax
call fcn.100e0532
test esi, esi
je 0x100e6fff
test eax, eax
jne 0x100e7244
mov ecx, dword [ebp + 0x58]
call fcn.100dd0d7
test eax, eax
je 0x100e7260
mov eax, dword [ebp + 0x70]
mov esi, dword [eax + 8]
mov eax, dword [ebp + 0x24]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x58]
mov edx, dword [ecx + 8]
mov ecx, dword [ebp + 0x4c]
lea esi, [edx + ecx]
mov dword [ebp + 0x6c], edx
mov edx, ecx
shr ecx, 2
lea edi, [ebp + eax - 0x1c]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x70]
mov edx, dword [edx + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp + 0x74]
mov ecx, eax
push dword [ebp + 0x70]
lea esi, [edx + eax]
mov edx, ecx
shr ecx, 2
lea edi, [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x4c]
mov esi, dword [ebp + 0x6c]
lea edi, [ebp + eax - 0xc]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
push 0
push dword [ebp + 0x60]
and ecx, 3
lea eax, [ebp - 0x1c]
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, ebx
call fcn.100e0532
push dword [ebp + 0x74]
mov esi, eax
push dword [ebp + 0x70]
lea eax, [ebp - 0xc]
push 0
push 0
push dword [ebp + 0x60]
mov ecx, ebx
push eax
call fcn.100e0532
test esi, esi
je 0x100e7260
test eax, eax
je 0x100e7260
mov dword [ebp + 0x54], 1
jmp 0x100e7248
mov ecx, esi
call fcn.100dd0a3
test eax, eax
je 0x100e7260
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x70]
mov esi, dword [ecx + 8]
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x54]
shl ecx, 2
mov edx, dword [ebp + 0x58]
mov esi, dword [edx + 8]
mov edx, ecx
shr ecx, 2
mov dword [ebp + 0x6c], esi
lea edi, [ebp + eax + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x70]
mov edx, dword [edx + 8]
lea esi, [edx + eax]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x6c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x54]
shl ecx, 2
lea esi, [edx + ecx]
mov edx, ecx
shr ecx, 2
lea edi, [ebp + eax + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x70]
mov edx, dword [edx + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x4c]
lea esi, [edx + esi*8]
push dword [ebp + 0x74]
mov ecx, eax
mov edx, ecx
shr ecx, 2
push dword [ebp + 0x70]
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x54]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x6c]
mov ecx, edx
shl ecx, 2
lea edi, [ebp + eax - 0x30]
mov eax, ecx
shr ecx, 2
lea esi, [esi + edx*8]
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
push 0
push dword [ebp + 0x60]
and ecx, 3
lea eax, [ebp + 0x28]
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, ebx
call fcn.100e0532
push dword [ebp + 0x74]
mov edi, eax
push dword [ebp + 0x70]
xor esi, esi
push esi
push esi
push dword [ebp + 0x60]
lea eax, [ebp + 0xc]
push eax
mov ecx, ebx
call fcn.100e0532
push dword [ebp + 0x74]
mov dword [ebp + 0x24], eax
push dword [ebp + 0x70]
lea eax, [ebp - 0x30]
push esi
push esi
push dword [ebp + 0x60]
mov ecx, ebx
push eax
call fcn.100e0532
cmp edi, esi
je 0x100e7260
cmp dword [ebp + 0x24], esi
je 0x100e7260
test eax, eax
je 0x100e7260
jmp 0x100e7244
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x70]
mov esi, dword [edx + 8]
mov eax, dword [ebx + 0x14]
mov edx, dword [esi]
mov dword [ebp + 0x6c], ecx
mov ecx, dword [ecx]
mov ecx, dword [eax + ecx*4]
mov eax, dword [eax + edx*4]
mov edx, dword [ecx]
cmp edx, dword [eax]
jne 0x100e7260
mov edx, dword [ecx + 4]
cmp edx, dword [eax + 4]
jne 0x100e7260
mov ecx, dword [ecx + 8]
cmp ecx, dword [eax + 8]
jne 0x100e7260
mov eax, dword [ebp + 0x4c]
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x54]
mov esi, dword [ebp + 0x6c]
lea edi, [ebp + eax + 0x28]
rep movsd dword es:[edi], dword [esi]
and dword [ebp + 0x54], 0
mov ecx, dword [ebp + 0x50]
mov edx, dword [ebp + 0x5c]
cmp ecx, edx
je 0x100e7297
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
add edx, dword [eax + ecx*4]
cmp edx, 4
jbe 0x100e7297
mov esi, dword [ebp + 0x48]
jmp 0x100e727e
dec dword [ebx + 0xc]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x100e727e
push 1
mov ecx, eax
call fcn.100dc69f
cmp dword [ebx + 0xc], esi
ja 0x100e7265
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x38]
jb 0x100e6dca
jmp 0x100e751d
push 0x38
call fcn.101134ba
test eax, eax
pop ecx
je 0x100e72af
mov ecx, eax
call fcn.100dcc79
mov dword [ebp + 0x74], eax
jmp 0x100e72b3
and dword [ebp + 0x74], 0
cmp dword [ebp + 0x74], 0
je 0x100e7549
mov edi, dword [ebp + 0x58]
mov eax, dword [edi]
xor eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x74]
push 0
push dword [ebp + 0x60]
and eax, 0xffffff
push dword [ebp + 4]
xor eax, dword [edi]
push eax
call fcn.100dccd0
mov esi, eax
test esi, esi
jl 0x100e7550
mov ecx, dword [ebp + 0x74]
push edi
call fcn.100dcfb2
mov esi, eax
test esi, esi
jl 0x100e7550
mov edx, dword [ebp + 0x5c]
cmp dword [ebp + 0x50], edx
je 0x100e7340
mov ecx, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebx + 8], esi
jbe 0x100e7330
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + esi*4]
mov edi, dword [ebp - 0x20]
cmp edi, dword [eax]
jne 0x100e732a
mov edi, dword [ebp + 0x50]
cmp edi, dword [eax + 8]
jne 0x100e732a
mov dword [eax + 8], edx
mov edi, dword [ecx + edx*4]
add dword [eax + 0xc], edi
inc esi
cmp esi, dword [ebx + 8]
jb 0x100e730c
lea eax, [ecx + edx*4]
mov edx, dword [ebp + 0x50]
lea ecx, [ecx + edx*4]
mov edx, dword [ecx]
add dword [eax], edx
and dword [ecx], 0
mov eax, dword [ebp + 0x70]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov edx, dword [ebp + 0x74]
mov edi, dword [edx + 0x10]
shl ecx, 2
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x58]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [ebp + 0x74]
mov edi, dword [edi + 0x10]
mov esi, dword [edx + 0x10]
shl ecx, 2
lea edi, [edi + eax*4]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
call fcn.100dd07f
test eax, eax
je 0x100e739f
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
mov edi, dword [eax + 8]
lea esi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x58]
call fcn.100dd091
test eax, eax
je 0x100e73eb
cmp dword [ebp + 0x54], 0
lea esi, [ebp + 0x28]
je 0x100e73b7
lea esi, [ebp - 0x1c]
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x74]
mov edi, dword [edx + 8]
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp dword [ebp + 0x54], 0
rep movsb byte es:[edi], byte [esi]
lea esi, [ebp + 0xc]
je 0x100e73df
lea esi, [ebp - 0xc]
mov edx, dword [ebp + 0x74]
mov edi, dword [edx + 8]
mov ecx, eax
add edi, eax
jmp 0x100e7441
mov ecx, dword [ebp + 0x58]
call fcn.100dd0a3
test eax, eax
je 0x100e744f
mov ecx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x74]
mov edi, dword [eax + 8]
shl ecx, 2
mov edx, ecx
shr ecx, 2
lea esi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [eax + 8]
mov ecx, dword [ebp + 0x60]
shl ecx, 2
add edi, ecx
mov edx, ecx
shr ecx, 2
lea esi, [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0x60]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 8]
mov ecx, edx
shl ecx, 2
lea esi, [ebp - 0x30]
lea edi, [eax + edx*8]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x20]
xor esi, esi
cmp ecx, esi
je 0x100e745f
push 1
call fcn.100dc69f
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebp + 0x68]
mov edx, dword [ebp + 0x74]
shl eax, 2
mov dword [eax + ecx], edx
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x3c]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 0xc], esi
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp + 0x48]
jbe 0x100e7508
sub eax, dword [ebp + 0x48]
mov dword [ebp + 0x20], eax
shl eax, 2
push eax
mov dword [ebp + 0x5c], eax
call fcn.101134ba
cmp eax, esi
pop ecx
mov dword [ebp + 0x3c], eax
je 0x100e7549
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x3c]
lea esi, [eax + edx*4]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x68]
mov eax, dword [ebx + 0x18]
sub edx, ecx
shl edx, 2
push edx
mov edx, dword [ebp + 0x40]
add edx, eax
push edx
mov edx, dword [ebp + 0x20]
add edx, ecx
lea eax, [eax + edx*4]
push eax
call fcn.10116660
mov edi, dword [ebx + 0x18]
mov ecx, dword [ebp + 0x5c]
add edi, dword [ebp + 0x40]
mov esi, dword [ebp + 0x3c]
push dword [ebp + 0x3c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.101130f7
add esp, 0x10
mov ecx, ebx
call fcn.100e0e4d
mov eax, dword [ebp + 0x44]
dec eax
mov dword [ebp + 0x1c], 1
mov dword [ebp + 0x64], eax
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebx + 0xc]
jb 0x100e6ca2
xor eax, eax
cmp dword [ebp + 0x1c], eax
sete al
mov esi, eax
push dword [ebp + 8]
call fcn.101130f7
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x78
leave
ret
mov esi, 0x8007000e
jmp 0x100e7536
mov ecx, dword [ebp + 0x74]
jmp 0x100e6d37