Function at 0x100ea541
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 0x100eb283
push esi
push edi
xor edi, edi
cmp dword [ebx + 4], edi
mov dword [ebp + 0x1c], edi
jbe 0x100ea576
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*4]
inc eax
mov dword [ecx + 0x10], edi
cmp eax, dword [ebx + 4]
jb 0x100ea567
xor edx, edx
cmp dword [ebx + 8], edi
jbe 0x100ea5b1
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
cmp dword [ebx + 0x4c], eax
je 0x100ea5ab
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 4]
test cl, 2
je 0x100ea5ab
test ch, 2
jne 0x100ea5ab
mov esi, dword [esi + 8]
lea ecx, [esi + 1]
cmp dword [eax + 0x10], ecx
jae 0x100ea5ab
mov dword [eax + 0x10], ecx
inc edx
cmp edx, dword [ebx + 8]
jb 0x100ea57d
xor eax, eax
cmp dword [ebx + 4], edi
jbe 0x100ea5c9
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 0x100ea5be
mov esi, eax
shl esi, 2
push esi
call fcn.101179a9
mov edi, eax
test edi, edi
pop ecx
mov dword [ebp + 8], edi
je 0x100eb289
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 0x100ea624
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 0x100ea600
xor esi, esi
xor edx, edx
cmp dword [ebx + 8], esi
jbe 0x100ea65d
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax]
cmp dword [ebx + 0x4c], ecx
je 0x100ea657
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + ecx*4]
mov ecx, dword [ecx + 0x1c]
cmp ecx, esi
je 0x100ea657
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [ecx + edi*4]
inc eax
cmp dword [ecx], eax
jae 0x100ea657
mov dword [ecx], eax
inc edx
cmp edx, dword [ebx + 8]
jb 0x100ea62d
mov eax, dword [ebx + 0x90]
test al, 6
jne 0x100ea9cd
mov ecx, ebx
call fcn.100e4b8d
cmp dword [ebx + 0xc], esi
mov dword [ebp + 0x64], esi
jbe 0x100ea9cd
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 0x100ea9be
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 0x100ea9be
mov esi, dword [ecx]
mov eax, dword [eax + esi*4]
test byte [eax + 4], 2
je 0x100ea9be
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 0x100ea6f1
mov ecx, esi
call fcn.100e0d77
test eax, eax
je 0x100ea9be
cmp dword [edi], 0x25000001
je 0x100ea708
mov ecx, edi
call fcn.100e0d77
test eax, eax
je 0x100ea9be
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 0x100ea9be
cmp ecx, 4
ja 0x100ea9be
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 0x100ea9be
cmp edx, dword [esi + 0x3c]
jne 0x100ea9be
mov esi, dword [edi + 0x10]
mov esi, dword [esi]
mov ecx, dword [ecx + esi*4]
cmp edx, dword [ecx + 0x38]
jne 0x100ea9be
cmp edx, dword [ecx + 0x3c]
jne 0x100ea9be
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.100e4272
test eax, eax
je 0x100ea82e
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.100e4272
test eax, eax
je 0x100ea82e
mov dword [ebp + 0x48], esi
jmp 0x100ea8e6
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.100e4272
test eax, eax
je 0x100ea9be
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.100e4272
test eax, eax
je 0x100ea9be
mov dword [ebp + 0x48], 1
xor esi, esi
push 0x38
call fcn.101179a9
cmp eax, esi
pop ecx
je 0x100ea8fe
mov ecx, eax
call fcn.100e09b9
mov dword [ebp + 0x44], eax
jmp 0x100ea901
mov dword [ebp + 0x44], esi
cmp dword [ebp + 0x44], esi
je 0x100eb289
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.100e0a10
mov esi, eax
test esi, esi
jl 0x100eaa75
push dword [ebp + 0x68]
mov ecx, edi
call fcn.100e0cf2
mov esi, eax
test esi, esi
jl 0x100eaa75
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 0x100ea961
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 0x100ea989
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.100e03df
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 0x100ea67e
mov ecx, ebx
call fcn.100e4b8d
and dword [ebp + 0x64], 0
cmp dword [ebx + 0xc], 0
jbe 0x100eb26c
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.100e0dbf
test eax, eax
jne 0x100eaa13
mov ecx, edi
call fcn.100e0dd1
test eax, eax
jne 0x100eaa13
mov ecx, edi
call fcn.100e0de3
test eax, eax
je 0x100eb25d
mov ecx, edi
call fcn.100e0d53
test eax, eax
jne 0x100eaa2b
test byte [ebx + 0x90], 6
jne 0x100eb25d
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 0x100eb25d
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 0x100eaab1
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 0x100eaaa3
mov ecx, edi
push 1
call fcn.100e03df
jmp 0x100eb276
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 0x100eaaa0
mov edx, dword [eax + 0x2c]
inc edx
cmp dword [ebp + 0x44], edx
jae 0x100eaaa0
mov dword [ebp + 0x44], edx
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jne 0x100eaa83
add dword [ebp + 0x50], 4
dec dword [ebp + 0x5c]
jne 0x100eaa6e
cmp dword [edi + 0xc], 0
jbe 0x100eaaff
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 0x100eaaef
mov dword [ebp + 0x38], edx
jmp 0x100eaaef
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 0x100eaaef
mov edx, dword [eax + 0x2c]
inc edx
cmp dword [ebp + 0x44], edx
jae 0x100eaaef
mov dword [ebp + 0x44], edx
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jne 0x100eaad2
add esi, 4
dec dword [ebp + 0x5c]
jne 0x100eaac0
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x68], eax
jmp 0x100eafc9
mov eax, dword [ebp + 0x68]
cmp dword [ebp + 0x64], eax
je 0x100eafc3
cmp dword [ebp + 0x64], eax
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + eax*4]
mov dword [ebp + 0x20], ecx
jae 0x100eab29
mov dword [ebp + 0x58], ecx
jmp 0x100eab2f
mov edx, dword [ebp + 0x3c]
mov dword [ebp + 0x58], edx
cmp dword [ebp + 0x64], eax
jae 0x100eab37
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 0x100eafc3
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 0x100eafc3
mov ecx, dword [eax + 4]
cmp ecx, dword [edx + 4]
jne 0x100eafc3
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 0x100eafc3
mov eax, dword [eax + 8]
mov edx, dword [edx + 8]
cmp eax, edx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x5c], edx
je 0x100eabee
test byte [ebx + 0x90], 6
jne 0x100eafc3
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [eax + ecx*4]
test byte [eax + 4], 0x10
jne 0x100eafc3
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 0x100eafc3
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x68]
cmp eax, ecx
mov dword [ebp + 0x74], eax
jb 0x100eabfe
mov dword [ebp + 0x74], ecx
mov esi, dword [ebp + 0x58]
mov ecx, esi
call fcn.100e0d53
test eax, eax
jne 0x100eaf30
mov ecx, esi
call fcn.100e0d65
test eax, eax
jne 0x100eaf30
mov ecx, esi
call fcn.100e0dbf
test eax, eax
je 0x100eac75
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.100e4272
jmp 0x100eaf2a
mov ecx, esi
call fcn.100e0dd1
test eax, eax
je 0x100eae0e
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.100e4272
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.100e4272
test esi, esi
je 0x100ead3f
test eax, eax
jne 0x100eaf84
mov ecx, dword [ebp + 0x58]
call fcn.100e0e17
test eax, eax
je 0x100eafa0
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.100e4272
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.100e4272
test esi, esi
je 0x100eafa0
test eax, eax
je 0x100eafa0
mov dword [ebp + 0x54], 1
jmp 0x100eaf88
mov ecx, esi
call fcn.100e0de3
test eax, eax
je 0x100eafa0
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.100e4272
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.100e4272
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.100e4272
cmp edi, esi
je 0x100eafa0
cmp dword [ebp + 0x24], esi
je 0x100eafa0
test eax, eax
je 0x100eafa0
jmp 0x100eaf84
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 0x100eafa0
mov edx, dword [ecx + 4]
cmp edx, dword [eax + 4]
jne 0x100eafa0
mov ecx, dword [ecx + 8]
cmp ecx, dword [eax + 8]
jne 0x100eafa0
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 0x100eafd7
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
add edx, dword [eax + ecx*4]
cmp edx, 4
jbe 0x100eafd7
mov esi, dword [ebp + 0x48]
jmp 0x100eafbe
dec dword [ebx + 0xc]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x100eafbe
push 1
mov ecx, eax
call fcn.100e03df
cmp dword [ebx + 0xc], esi
ja 0x100eafa5
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x38]
jb 0x100eab0a
jmp 0x100eb25d
push 0x38
call fcn.101179a9
test eax, eax
pop ecx
je 0x100eafef
mov ecx, eax
call fcn.100e09b9
mov dword [ebp + 0x74], eax
jmp 0x100eaff3
and dword [ebp + 0x74], 0
cmp dword [ebp + 0x74], 0
je 0x100eb289
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.100e0a10
mov esi, eax
test esi, esi
jl 0x100eb290
mov ecx, dword [ebp + 0x74]
push edi
call fcn.100e0cf2
mov esi, eax
test esi, esi
jl 0x100eb290
mov edx, dword [ebp + 0x5c]
cmp dword [ebp + 0x50], edx
je 0x100eb080
mov ecx, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebx + 8], esi
jbe 0x100eb070
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + esi*4]
mov edi, dword [ebp - 0x20]
cmp edi, dword [eax]
jne 0x100eb06a
mov edi, dword [ebp + 0x50]
cmp edi, dword [eax + 8]
jne 0x100eb06a
mov dword [eax + 8], edx
mov edi, dword [ecx + edx*4]
add dword [eax + 0xc], edi
inc esi
cmp esi, dword [ebx + 8]
jb 0x100eb04c
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.100e0dbf
test eax, eax
je 0x100eb0df
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.100e0dd1
test eax, eax
je 0x100eb12b
cmp dword [ebp + 0x54], 0
lea esi, [ebp + 0x28]
je 0x100eb0f7
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 0x100eb11f
lea esi, [ebp - 0xc]
mov edx, dword [ebp + 0x74]
mov edi, dword [edx + 8]
mov ecx, eax
add edi, eax
jmp 0x100eb181
mov ecx, dword [ebp + 0x58]
call fcn.100e0de3
test eax, eax
je 0x100eb18f
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 0x100eb19f
push 1
call fcn.100e03df
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 0x100eb248
sub eax, dword [ebp + 0x48]
mov dword [ebp + 0x20], eax
shl eax, 2
push eax
mov dword [ebp + 0x5c], eax
call fcn.101179a9
cmp eax, esi
pop ecx
mov dword [ebp + 0x3c], eax
je 0x100eb289
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.1011abd0
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.101175e6
add esp, 0x10
mov ecx, ebx
call fcn.100e4b8d
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 0x100ea9e2
xor eax, eax
cmp dword [ebp + 0x1c], eax
sete al
mov esi, eax
push dword [ebp + 8]
call fcn.101175e6
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x78
leave
ret
mov esi, 0x8007000e
jmp 0x100eb276
mov ecx, dword [ebp + 0x74]
jmp 0x100eaa77