Function at 0x100eb781
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 0x100ec4c3
push esi
push edi
xor edi, edi
cmp dword [ebx + 4], edi
mov dword [ebp + 0x1c], edi
jbe 0x100eb7b6
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*4]
inc eax
mov dword [ecx + 0x10], edi
cmp eax, dword [ebx + 4]
jb 0x100eb7a7
xor edx, edx
cmp dword [ebx + 8], edi
jbe 0x100eb7f1
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
cmp dword [ebx + 0x4c], eax
je 0x100eb7eb
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 4]
test cl, 2
je 0x100eb7eb
test ch, 2
jne 0x100eb7eb
mov esi, dword [esi + 8]
lea ecx, [esi + 1]
cmp dword [eax + 0x10], ecx
jae 0x100eb7eb
mov dword [eax + 0x10], ecx
inc edx
cmp edx, dword [ebx + 8]
jb 0x100eb7bd
xor eax, eax
cmp dword [ebx + 4], edi
jbe 0x100eb809
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 0x100eb7fe
mov esi, eax
shl esi, 2
push esi
call fcn.1011877f
mov edi, eax
test edi, edi
pop ecx
mov dword [ebp + 8], edi
je 0x100ec4c9
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 0x100eb864
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 0x100eb840
xor esi, esi
xor edx, edx
cmp dword [ebx + 8], esi
jbe 0x100eb89d
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax]
cmp dword [ebx + 0x4c], ecx
je 0x100eb897
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + ecx*4]
mov ecx, dword [ecx + 0x1c]
cmp ecx, esi
je 0x100eb897
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [ecx + edi*4]
inc eax
cmp dword [ecx], eax
jae 0x100eb897
mov dword [ecx], eax
inc edx
cmp edx, dword [ebx + 8]
jb 0x100eb86d
mov eax, dword [ebx + 0x90]
test al, 6
jne 0x100ebc0d
mov ecx, ebx
call fcn.100e5dcd
cmp dword [ebx + 0xc], esi
mov dword [ebp + 0x64], esi
jbe 0x100ebc0d
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 0x100ebbfe
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 0x100ebbfe
mov esi, dword [ecx]
mov eax, dword [eax + esi*4]
test byte [eax + 4], 2
je 0x100ebbfe
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 0x100eb931
mov ecx, esi
call fcn.100e1fb7
test eax, eax
je 0x100ebbfe
cmp dword [edi], 0x25000001
je 0x100eb948
mov ecx, edi
call fcn.100e1fb7
test eax, eax
je 0x100ebbfe
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 0x100ebbfe
cmp ecx, 4
ja 0x100ebbfe
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 0x100ebbfe
cmp edx, dword [esi + 0x3c]
jne 0x100ebbfe
mov esi, dword [edi + 0x10]
mov esi, dword [esi]
mov ecx, dword [ecx + esi*4]
cmp edx, dword [ecx + 0x38]
jne 0x100ebbfe
cmp edx, dword [ecx + 0x3c]
jne 0x100ebbfe
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.100e54b2
test eax, eax
je 0x100eba6e
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.100e54b2
test eax, eax
je 0x100eba6e
mov dword [ebp + 0x48], esi
jmp 0x100ebb26
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.100e54b2
test eax, eax
je 0x100ebbfe
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.100e54b2
test eax, eax
je 0x100ebbfe
mov dword [ebp + 0x48], 1
xor esi, esi
push 0x38
call fcn.1011877f
cmp eax, esi
pop ecx
je 0x100ebb3e
mov ecx, eax
call fcn.100e1bf9
mov dword [ebp + 0x44], eax
jmp 0x100ebb41
mov dword [ebp + 0x44], esi
cmp dword [ebp + 0x44], esi
je 0x100ec4c9
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.100e1c50
mov esi, eax
test esi, esi
jl 0x100ebcb5
push dword [ebp + 0x68]
mov ecx, edi
call fcn.100e1f32
mov esi, eax
test esi, esi
jl 0x100ebcb5
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 0x100ebba1
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 0x100ebbc9
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.100e161f
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 0x100eb8be
mov ecx, ebx
call fcn.100e5dcd
and dword [ebp + 0x64], 0
cmp dword [ebx + 0xc], 0
jbe 0x100ec4ac
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.100e1fff
test eax, eax
jne 0x100ebc53
mov ecx, edi
call fcn.100e2011
test eax, eax
jne 0x100ebc53
mov ecx, edi
call fcn.100e2023
test eax, eax
je 0x100ec49d
mov ecx, edi
call fcn.100e1f93
test eax, eax
jne 0x100ebc6b
test byte [ebx + 0x90], 6
jne 0x100ec49d
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 0x100ec49d
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 0x100ebcf1
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 0x100ebce3
mov ecx, edi
push 1
call fcn.100e161f
jmp 0x100ec4b6
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 0x100ebce0
mov edx, dword [eax + 0x2c]
inc edx
cmp dword [ebp + 0x44], edx
jae 0x100ebce0
mov dword [ebp + 0x44], edx
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jne 0x100ebcc3
add dword [ebp + 0x50], 4
dec dword [ebp + 0x5c]
jne 0x100ebcae
cmp dword [edi + 0xc], 0
jbe 0x100ebd3f
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 0x100ebd2f
mov dword [ebp + 0x38], edx
jmp 0x100ebd2f
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 0x100ebd2f
mov edx, dword [eax + 0x2c]
inc edx
cmp dword [ebp + 0x44], edx
jae 0x100ebd2f
mov dword [ebp + 0x44], edx
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jne 0x100ebd12
add esi, 4
dec dword [ebp + 0x5c]
jne 0x100ebd00
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x68], eax
jmp 0x100ec209
mov eax, dword [ebp + 0x68]
cmp dword [ebp + 0x64], eax
je 0x100ec203
cmp dword [ebp + 0x64], eax
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + eax*4]
mov dword [ebp + 0x20], ecx
jae 0x100ebd69
mov dword [ebp + 0x58], ecx
jmp 0x100ebd6f
mov edx, dword [ebp + 0x3c]
mov dword [ebp + 0x58], edx
cmp dword [ebp + 0x64], eax
jae 0x100ebd77
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 0x100ec203
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 0x100ec203
mov ecx, dword [eax + 4]
cmp ecx, dword [edx + 4]
jne 0x100ec203
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 0x100ec203
mov eax, dword [eax + 8]
mov edx, dword [edx + 8]
cmp eax, edx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x5c], edx
je 0x100ebe2e
test byte [ebx + 0x90], 6
jne 0x100ec203
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [eax + ecx*4]
test byte [eax + 4], 0x10
jne 0x100ec203
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 0x100ec203
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x68]
cmp eax, ecx
mov dword [ebp + 0x74], eax
jb 0x100ebe3e
mov dword [ebp + 0x74], ecx
mov esi, dword [ebp + 0x58]
mov ecx, esi
call fcn.100e1f93
test eax, eax
jne 0x100ec170
mov ecx, esi
call fcn.100e1fa5
test eax, eax
jne 0x100ec170
mov ecx, esi
call fcn.100e1fff
test eax, eax
je 0x100ebeb5
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.100e54b2
jmp 0x100ec16a
mov ecx, esi
call fcn.100e2011
test eax, eax
je 0x100ec04e
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.100e54b2
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.100e54b2
test esi, esi
je 0x100ebf7f
test eax, eax
jne 0x100ec1c4
mov ecx, dword [ebp + 0x58]
call fcn.100e2057
test eax, eax
je 0x100ec1e0
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.100e54b2
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.100e54b2
test esi, esi
je 0x100ec1e0
test eax, eax
je 0x100ec1e0
mov dword [ebp + 0x54], 1
jmp 0x100ec1c8
mov ecx, esi
call fcn.100e2023
test eax, eax
je 0x100ec1e0
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.100e54b2
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.100e54b2
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.100e54b2
cmp edi, esi
je 0x100ec1e0
cmp dword [ebp + 0x24], esi
je 0x100ec1e0
test eax, eax
je 0x100ec1e0
jmp 0x100ec1c4
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 0x100ec1e0
mov edx, dword [ecx + 4]
cmp edx, dword [eax + 4]
jne 0x100ec1e0
mov ecx, dword [ecx + 8]
cmp ecx, dword [eax + 8]
jne 0x100ec1e0
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 0x100ec217
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
add edx, dword [eax + ecx*4]
cmp edx, 4
jbe 0x100ec217
mov esi, dword [ebp + 0x48]
jmp 0x100ec1fe
dec dword [ebx + 0xc]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x100ec1fe
push 1
mov ecx, eax
call fcn.100e161f
cmp dword [ebx + 0xc], esi
ja 0x100ec1e5
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x38]
jb 0x100ebd4a
jmp 0x100ec49d
push 0x38
call fcn.1011877f
test eax, eax
pop ecx
je 0x100ec22f
mov ecx, eax
call fcn.100e1bf9
mov dword [ebp + 0x74], eax
jmp 0x100ec233
and dword [ebp + 0x74], 0
cmp dword [ebp + 0x74], 0
je 0x100ec4c9
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.100e1c50
mov esi, eax
test esi, esi
jl 0x100ec4d0
mov ecx, dword [ebp + 0x74]
push edi
call fcn.100e1f32
mov esi, eax
test esi, esi
jl 0x100ec4d0
mov edx, dword [ebp + 0x5c]
cmp dword [ebp + 0x50], edx
je 0x100ec2c0
mov ecx, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebx + 8], esi
jbe 0x100ec2b0
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + esi*4]
mov edi, dword [ebp - 0x20]
cmp edi, dword [eax]
jne 0x100ec2aa
mov edi, dword [ebp + 0x50]
cmp edi, dword [eax + 8]
jne 0x100ec2aa
mov dword [eax + 8], edx
mov edi, dword [ecx + edx*4]
add dword [eax + 0xc], edi
inc esi
cmp esi, dword [ebx + 8]
jb 0x100ec28c
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.100e1fff
test eax, eax
je 0x100ec31f
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.100e2011
test eax, eax
je 0x100ec36b
cmp dword [ebp + 0x54], 0
lea esi, [ebp + 0x28]
je 0x100ec337
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 0x100ec35f
lea esi, [ebp - 0xc]
mov edx, dword [ebp + 0x74]
mov edi, dword [edx + 8]
mov ecx, eax
add edi, eax
jmp 0x100ec3c1
mov ecx, dword [ebp + 0x58]
call fcn.100e2023
test eax, eax
je 0x100ec3cf
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 0x100ec3df
push 1
call fcn.100e161f
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 0x100ec488
sub eax, dword [ebp + 0x48]
mov dword [ebp + 0x20], eax
shl eax, 2
push eax
mov dword [ebp + 0x5c], eax
call fcn.1011877f
cmp eax, esi
pop ecx
mov dword [ebp + 0x3c], eax
je 0x100ec4c9
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.1011be10
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.101183bc
add esp, 0x10
mov ecx, ebx
call fcn.100e5dcd
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 0x100ebc22
xor eax, eax
cmp dword [ebp + 0x1c], eax
sete al
mov esi, eax
push dword [ebp + 8]
call fcn.101183bc
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x78
leave
ret
mov esi, 0x8007000e
jmp 0x100ec4b6
mov ecx, dword [ebp + 0x74]
jmp 0x100ebcb7