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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
push eax
mov eax, 0x125c
call fcn.100aecd0
sub esp, eax
mov ebx, edx
mov esi, ecx
mov eax, dword [esp + eax]
mov dword [esp + 8], 0x40004
mov dword [esp + 0x70], eax
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x68], edx
mov dword [esp], eax
mov dword [esp + 0x44], ecx
call sub.msvcrt.dll_memset
mov edx, dword [ebp + 0xc]
movzx eax, byte [ebx]
mov ecx, dword [ebp + 8]
sub edx, 1
shl eax, 8
mov dword [esp + 0x40], edx
xor edi, edi
sar eax, 8
mov word [esi + edx*2], di
movzx edi, byte [ebx + edx]
shl edi, 8
or eax, edi
xor edi, edi
add dword [ecx + eax*4], 1
sar eax, 8
mov word [esi + edx*2 - 2], di
movzx edi, byte [ebx + edx - 1]
shl edi, 8
or eax, edi
xor edi, edi
add dword [ecx + eax*4], 1
sar eax, 8
mov word [esi + edx*2 - 4], di
movzx edi, byte [ebx + edx - 2]
shl edi, 8
or edi, eax
xor eax, eax
add dword [ecx + edi*4], 1
sar edi, 8
mov word [esi + edx*2 - 6], ax
movzx eax, byte [ebx + edx - 3]
sub edx, 4
shl eax, 8
or eax, edi
add dword [ecx + eax*4], 1
cmp edx, 2
jg 0x100be2e7
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x40]
shr edx, 2
lea edx, [edx*4 - 4]
sub edi, edx
lea edx, [edi - 4]
mov dword [esp + 0xa8], edx
cmp edi, 3
je 0x100be3d5
mov ebx, dword [esp + 0x44]
lea edx, [edi - 4]
xor esi, esi
sar eax, 8
lea ecx, [edx + edx]
mov word [ebx + edx*2], si
mov esi, dword [esp + 0x68]
movzx edx, byte [esi + edi - 4]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 8]
add dword [eax + edx*4], 1
cmp edi, 4
je 0x100be3d5
xor eax, eax
sar edx, 8
mov word [ebx + ecx - 2], ax
movzx eax, byte [esi + edi - 5]
mov ecx, esi
shl eax, 8
or eax, edx
mov edx, dword [ebp + 8]
add dword [edx + eax*4], 1
cmp edi, 5
je 0x100be3d5
xor esi, esi
sar eax, 8
mov word [ebx], si
movzx edx, byte [ecx]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 8]
add dword [eax + edx*4], 1
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
lea edx, [eax + eax]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa4], edx
lea ebx, [eax + edx + 0x44]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x68]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xac], ebx
add edx, eax
lea eax, [eax + esi + 0x22]
cmp ecx, eax
setae al
cmp edx, ebx
mov esi, eax
setae al
mov ebx, esi
or al, bl
je 0x100c0086
mov ebx, dword [esp + 0x68]
lea eax, [ebx + 0x22]
cmp ecx, eax
setae al
mov esi, eax
mov eax, dword [esp + 0xac]
cmp ebx, eax
mov ebx, esi
setae al
or al, bl
je 0x100c0086
mov eax, dword [esp + 0x68]
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0xa4]
movdqu xmm0, xmmword [eax]
movups xmmword [edx], xmm0
pxor xmm0, xmm0
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
movdqu xmm1, xmmword [eax + 0x10]
movups xmmword [edx + 0x10], xmm1
mov edx, eax
movups xmmword [ecx + 0x20], xmm0
movups xmmword [ecx + 0x30], xmm0
movzx eax, byte [eax + 0x20]
mov ecx, dword [ebp + 0xc]
mov byte [edx + ebx + 0x20], al
mov ebx, dword [esp + 0x44]
xor eax, eax
mov word [ebx + esi + 0x40], ax
movzx eax, byte [edx + 0x21]
mov byte [edx + ecx + 0x21], al
xor eax, eax
mov word [ebx + esi + 0x42], ax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 8]
mov edx, dword [eax]
lea ecx, [ebx + 0x40004]
add eax, 4
lea esi, cs:[esi]
nop
add edx, dword [eax]
add eax, 4
mov dword [eax - 4], edx
cmp eax, ecx
jne 0x100be4b0
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xac], edi
mov edx, dword [ebp + 8]
movzx eax, byte [eax]
shl eax, 8
mov ecx, eax
mov eax, dword [esp + 0x68]
shr cx, 8
movzx eax, byte [eax + ebx]
shl eax, 8
or eax, ecx
movzx ecx, ax
lea esi, [edx + ecx*4]
mov edi, dword [esi]
lea ecx, [edi - 1]
mov edi, dword [esp + 0x70]
mov dword [esi], ecx
mov dword [edi + ecx*4], ebx
mov ecx, eax
mov eax, dword [esp + 0x68]
shr cx, 8
movzx eax, byte [eax + ebx - 1]
shl eax, 8
or eax, ecx
movzx ecx, ax
lea esi, [edx + ecx*4]
mov ecx, dword [esi]
sub ecx, 1
mov dword [esi], ecx
lea esi, [ebx - 1]
mov dword [edi + ecx*4], esi
mov ecx, eax
mov eax, dword [esp + 0x68]
shr cx, 8
movzx eax, byte [eax + ebx - 2]
shl eax, 8
or eax, ecx
movzx ecx, ax
shr ax, 8
lea esi, [edx + ecx*4]
mov ecx, dword [esi]
sub ecx, 1
mov dword [esi], ecx
lea esi, [ebx - 2]
mov dword [edi + ecx*4], esi
mov ecx, dword [esp + 0x68]
movzx ecx, byte [ecx + ebx - 3]
shl ecx, 8
or ecx, eax
movzx eax, cx
lea esi, [edx + eax*4]
mov eax, dword [esi]
sub eax, 1
mov dword [esi], eax
lea esi, [ebx - 3]
sub ebx, 4
mov dword [edi + eax*4], esi
cmp ebx, 2
jg 0x100be4d6
cmp dword [esp + 0xa8], 0xffffffff
mov edi, dword [esp + 0xac]
je 0x100be620
mov esi, dword [esp + 0x68]
mov edx, ecx
mov ebx, dword [esp + 0xa8]
shr dx, 8
movzx eax, byte [esi + edi - 4]
shl eax, 8
or eax, edx
mov edx, dword [ebp + 8]
mov ecx, eax
movzx eax, ax
lea edx, [edx + eax*4]
mov eax, dword [edx]
sub eax, 1
mov dword [edx], eax
mov edx, dword [esp + 0x70]
mov dword [edx + eax*4], ebx
lea ebx, [edi - 5]
cmp edi, 4
je 0x100be620
movzx eax, byte [esi + edi - 5]
shr cx, 8
mov edx, ecx
shl eax, 8
or eax, edx
mov edx, dword [ebp + 8]
mov ecx, eax
movzx eax, ax
lea edx, [edx + eax*4]
mov eax, dword [edx]
sub eax, 1
mov dword [edx], eax
mov edx, dword [esp + 0x70]
mov dword [edx + eax*4], ebx
cmp edi, 5
je 0x100be620
movzx eax, byte [esi]
shr cx, 8
mov edi, dword [ebp + 8]
shl eax, 8
or eax, ecx
movzx eax, ax
lea edx, [edi + eax*4]
mov eax, dword [edx]
sub eax, 1
mov dword [edx], eax
mov edx, dword [esp + 0x70]
mov dword [edx + eax*4], 0
lea edx, [esp + 0xb0]
xor eax, eax
mov ecx, 0x40
movdqu xmm0, xmmword [0x10128ee0]
mov edi, edx
mov edx, 4
rep stosd dword es:[edi], eax
lea eax, [esp + 0x660]
movd xmm2, edx
mov dword [esp + 0x38], eax
pshufd xmm2, xmm2, 0
movdqa xmm1, xmm0
add eax, 0x10
lea edx, [esp + 0xa60]
movups xmmword [eax - 0x10], xmm1
paddd xmm0, xmm2
cmp eax, edx
jne 0x100be653
mov esi, dword [ebp + 8]
mov edi, 0x79
lea eax, [edi*4]
mov dword [esp + 0xac], edi
mov ebx, edi
neg eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + ebx*4 + 0x660]
mov dword [esp + 0x98], ebx
lea edx, [eax + 1]
mov dword [esp + 0x9c], eax
shl edx, 0xa
mov ecx, dword [esi + edx]
sub ecx, dword [esi + edx - 0x400]
lea edx, [esp + ebx*4 + 0x660]
mov dword [esp + 0xa4], ecx
mov ecx, ebx
jmp 0x100be6de
mov eax, dword [esp + 0xa8]
mov dword [edx], ebx
add edx, eax
mov eax, dword [esp + 0xac]
cmp ecx, eax
jl 0x100be75d
mov eax, dword [esp + 0xac]
mov dword [esp + 0xa0], ecx
sub ecx, eax
mov eax, dword [esp + 0xa8]
mov ebx, dword [edx + eax]
lea eax, [ebx + 1]
shl eax, 0xa
mov edi, dword [esi + eax]
sub edi, dword [esi + eax - 0x400]
cmp dword [esp + 0xa4], edi
jb 0x100be6c8
mov eax, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x98]
add ebx, 1
mov dword [esp + edi*4 + 0x660], eax
cmp ebx, 0x100
jne 0x100be68e
mov edi, dword [esp + 0xac]
cmp edi, 1
je 0x100be76f
mov eax, 0x55555556
imul edi
mov eax, edi
sar eax, 0x1f
sub edx, eax
mov edi, edx
jmp 0x100be675
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov edi, ecx
jmp 0x100be726
lea eax, [esp + 0xa5c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
add eax, 0x40000
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov edi, dword [eax]
mov eax, edi
mov dword [esp + 0x50], edi
shl eax, 0xa
mov dword [esp + 0x20], eax
add eax, dword [ebp + 8]
mov dword [esp + 0x3c], eax
mov esi, eax
jmp 0x100be7c9
or eax, 0x200000
mov dword [esi], eax
add ebx, 1
add esi, 4
cmp ebx, 0x100
je 0x100bfc25
cmp edi, ebx
je 0x100be7b7
mov eax, dword [esi]
test eax, 0x200000
jne 0x100be7b0
mov edx, dword [esi + 4]
mov ecx, eax
and ecx, 0xffdfffff
and edx, 0xffdfffff
sub edx, 1
cmp ecx, edx
jge 0x100be7b0
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x340], edx
mov dword [esp + 0x4d0], 2
mov dword [esp + 0x98], 1
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x98]
sub eax, 1
mov edx, dword [esp + eax*4 + 0x340]
mov edi, dword [esp + eax*4 + 0x1b0]
mov dword [esp + 0x60], eax
mov ebx, dword [esp + eax*4 + 0x4d0]
mov eax, edx
mov dword [esp + 0x6c], edi
sub eax, edi
mov dword [esp + 0x7c], edx
mov dword [esp + 0xa8], ebx
cmp eax, 0x13
jle 0x100bf6d8
cmp ebx, 0xe
jle 0x100bf6fb
add eax, 1
mov ecx, 2
cmp eax, 0x28
jle 0x100be8d6
cmp eax, 0x79
jle 0x100bfef4
cmp eax, 0x16c
jle 0x100bfeea
cmp eax, 0x445
jle 0x100bfee0
cmp eax, 0xcd0
jle 0x100bfed6
cmp eax, 0x2671
jle 0x100bffc2
cmp eax, 0x7354
jle 0x100bffb8
cmp eax, 0x159fd
jle 0x100bffae
cmp eax, 0x40df8
jle 0x100bffa4
xor ecx, ecx
cmp eax, 0xc29e9
setg cl
add ecx, 0xb
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
lea eax, [eax*4]
mov dword [esp + 0x58], eax
mov eax, dword [ecx*4 + 0x10145420]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x58]
add edx, eax
mov dword [esp + 0xac], eax
shl eax, 2
add esi, ebx
neg eax
lea ebx, [ebx + edx*4 + 8]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x80], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x84]
cmp dword [esp + 0x7c], edx
jl 0x100bf67a
mov esi, dword [ebx - 8]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x74], ebx
mov ecx, dword [esp + 0x80]
add eax, esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x90], eax
add eax, edi
mov dword [esp + 0x94], eax
lea eax, [ebx - 8]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], eax
lea esi, [esi]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0xa8]
sub edx, eax
mov eax, dword [esp + 0xa4]
add ecx, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
movzx ebx, byte [edi + ecx]
movzx eax, byte [eax]
cmp bl, al
jne 0x100bed18
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 1]
movzx eax, byte [edi + eax + 1]
cmp bl, al
jne 0x100bed18
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 2]
movzx eax, byte [edi + eax + 2]
cmp bl, al
jne 0x100bed18
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 3]
movzx eax, byte [edi + eax + 3]
cmp bl, al
jne 0x100bed18
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 4]
movzx eax, byte [edi + eax + 4]
cmp bl, al
jne 0x100bed18
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 5]
movzx eax, byte [edi + eax + 5]
cmp bl, al
jne 0x100bed18
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 6]
movzx ebx, byte [edi + eax + 6]
mov eax, esi
cmp al, bl
jne 0x100bf650
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 7]
movzx ebx, byte [edi + eax + 7]
mov eax, esi
cmp al, bl
jne 0x100bf650
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 8]
movzx ebx, byte [edi + eax + 8]
mov eax, esi
cmp al, bl
jne 0x100bf650
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 9]
movzx ebx, byte [edi + eax + 9]
mov eax, esi
cmp al, bl
jne 0x100bf650
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xa]
movzx ebx, byte [edi + eax + 0xa]
mov eax, esi
cmp al, bl
jne 0x100bf650
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xb]
movzx ebx, byte [edi + eax + 0xb]
mov eax, esi
cmp al, bl
jne 0x100bf650
lea eax, [ecx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
add ecx, 8
add ebx, 0xc
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx]
movzx ecx, byte [edi + edx]
mov edx, esi
cmp cl, dl
jne 0x100c00bc
mov edx, dword [esp + 0x54]
movzx esi, word [eax + ebx*2]
lea ecx, [edx + edx]
movzx edx, word [eax + edx*2]
mov dword [esp + 0x4c], ecx
lea ecx, [ebx + ebx]
mov word [esp + 0x2a], dx
mov dword [esp + 0x48], ecx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 1]
movzx ecx, byte [edi + edx + 1]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 2]
movzx esi, word [eax + ecx + 2]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 2]
movzx ecx, byte [edi + edx + 2]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 4]
movzx esi, word [eax + ecx + 4]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 3]
movzx ecx, byte [edi + edx + 3]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 6]
movzx esi, word [eax + ecx + 6]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 4]
movzx ecx, byte [edi + edx + 4]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 8]
movzx esi, word [eax + ecx + 8]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 5]
movzx ecx, byte [edi + edx + 5]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 0xa]
movzx esi, word [eax + ecx + 0xa]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 6]
movzx ecx, byte [edi + edx + 6]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 0xc]
movzx esi, word [eax + ecx + 0xc]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100c0064
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 7]
movzx ecx, byte [edi + edx + 7]
mov edx, esi
cmp cl, dl
jne 0x100c0044
mov edx, dword [esp + 0x4c]
movzx esi, word [eax + edx + 0xe]
mov edx, dword [esp + 0x48]
movzx ecx, word [eax + edx + 0xe]
cmp si, cx
jne 0x100c00ce
add dword [esp + 0x54], 8
mov esi, dword [esp + 0x54]
add ebx, 8
mov edx, esi
sub edx, dword [ebp + 0xc]
cmp esi, dword [ebp + 0xc]
mov ecx, edx
mov edx, dword [ebp + 0x10]
cmovb ecx, esi
mov dword [esp + 0x54], ecx
mov ecx, ebx
sub ecx, dword [ebp + 0xc]
cmp ebx, dword [ebp + 0xc]
cmovae ebx, ecx
sub dword [edx], 1
sub dword [esp + 0x24], 8
jns 0x100beaff
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
lea ecx, [eax + edx*4]
jmp 0x100bed6d
cmp al, bl
setb bl
mov ecx, dword [esp + 0xa0]
test bl, bl
je 0x100bf630
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x98]
mov ebx, dword [eax]
add eax, esi
mov dword [esp + 0xa4], eax
lea eax, [ecx + esi]
mov dword [ecx], ebx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x9c], edx
jle 0x100be980
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x84]
mov dword [ecx], esi
lea edx, [eax + 1]
cmp dword [esp + 0x7c], edx
jl 0x100bf67a
mov ecx, dword [ebx - 4]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x74], ebx
mov esi, edi
add eax, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x8c], eax
add eax, edi
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
add eax, 4
mov dword [esp + 0xa4], eax
lea esi, [esi]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x88], edx
sub edx, eax
mov eax, dword [esp + 0xa4]
mov edi, dword [eax]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa0], edi
lea ecx, [edi + eax]
mov edi, dword [esp + 0x90]
movzx eax, byte [esi + ecx]
movzx edi, byte [edi]
mov ebx, edi
cmp al, bl
jne 0x100bf168
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 1]
movzx edi, byte [esi + edi + 1]
mov ebx, edi
cmp al, bl
jne 0x100bf168
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 2]
movzx edi, byte [esi + edi + 2]
mov ebx, edi
cmp al, bl
jne 0x100bf168
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 3]
movzx edi, byte [esi + edi + 3]
mov ebx, edi
cmp al, bl
jne 0x100bf168
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 4]
movzx edi, byte [esi + edi + 4]
mov ebx, edi
cmp al, bl
jne 0x100bf168
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 5]
movzx edi, byte [esi + edi + 5]
mov ebx, edi
cmp al, bl
jne 0x100bf168
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 6]
movzx eax, byte [esi + eax + 6]
mov ebx, edi
cmp bl, al
jne 0x100bf660
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 7]
movzx eax, byte [esi + eax + 7]
mov ebx, edi
cmp bl, al
jne 0x100bf660
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 8]
movzx eax, byte [esi + eax + 8]
mov ebx, edi
cmp bl, al
jne 0x100bf660
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 9]
movzx eax, byte [esi + eax + 9]
mov ebx, edi
cmp bl, al
jne 0x100bf660
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 0xa]
movzx eax, byte [esi + eax + 0xa]
mov ebx, edi
cmp bl, al
jne 0x100bf660
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 0xb]
movzx eax, byte [esi + eax + 0xb]
mov ebx, edi
cmp bl, al
jne 0x100bf660
mov edi, dword [esp + 0x8c]
lea eax, [ecx + 0xc]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x44]
lea ebx, [edi + 0xc]
mov edi, dword [ebp + 0xc]
add edi, 8
mov dword [esp + 0x48], edi
mov edx, dword [esp + 0x5c]
movzx edi, byte [esi + ebx]
movzx ecx, byte [esi + edx]
mov edx, edi
cmp cl, dl
jne 0x100c00dd
mov edx, dword [esp + 0x5c]
lea ecx, [edx + edx]
movzx edi, word [eax + edx*2]
lea edx, [ebx + ebx]
mov dword [esp + 0x4c], edx
movzx edx, word [eax + ebx*2]
mov dword [esp + 0x54], ecx
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 1]
movzx edi, byte [esi + edx + 1]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 2]
mov edx, dword [esp + 0x4c]
movzx edx, word [eax + edx + 2]
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 2]
movzx edi, byte [esi + edx + 2]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 4]
mov edx, dword [esp + 0x4c]
movzx edx, word [eax + edx + 4]
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 3]
movzx edi, byte [esi + edx + 3]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 6]
mov edx, dword [esp + 0x4c]
movzx edx, word [eax + edx + 6]
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 4]
movzx edi, byte [esi + edx + 4]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 8]
mov edx, dword [esp + 0x4c]
movzx edx, word [eax + edx + 8]
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 5]
movzx edi, byte [esi + edx + 5]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 0xa]
mov edx, dword [esp + 0x4c]
movzx edx, word [eax + edx + 0xa]
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 6]
movzx edi, byte [esi + edx + 6]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 0xc]
mov edx, dword [esp + 0x4c]
movzx edx, word [eax + edx + 0xc]
mov ecx, edx
cmp di, dx
jne 0x100bffe2
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 7]
movzx edi, byte [esi + edx + 7]
mov edx, edi
cmp dl, cl
jne 0x100bff61
mov edx, dword [esp + 0x54]
movzx edi, word [eax + edx + 0xe]
mov edx, dword [esp + 0x4c]
movzx ecx, word [eax + edx + 0xe]
cmp di, cx
jne 0x100c00f2
add dword [esp + 0x5c], 8
mov edi, dword [esp + 0x5c]
add ebx, 8
mov edx, edi
sub edx, dword [ebp + 0xc]
cmp edi, dword [ebp + 0xc]
mov ecx, edx
mov edx, dword [ebp + 0x10]
cmovb ecx, edi
mov dword [esp + 0x5c], ecx
mov ecx, ebx
sub ecx, dword [ebp + 0xc]
cmp ebx, dword [ebp + 0xc]
cmovae ebx, ecx
sub dword [edx], 1
sub dword [esp + 0x48], 8
jns 0x100bef58
lea esi, [esi]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x88]
mov edi, esi
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
lea eax, [eax + edx*4]
mov dword [esp + 0x94], eax
jmp 0x100bf1b2
mov ecx, edi
cmp cl, al
setb cl
test cl, cl
je 0x100bf140
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xac]
mov ebx, dword [esp + 0xa0]
mov dword [eax + edi*4], ebx
mov edi, dword [esp + 0x98]
add eax, edi
mov dword [esp + 0xa4], eax
cmp dword [esp + 0x9c], edx
jle 0x100bedc0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov edi, esi
mov eax, dword [esp + 0x94]
mov dword [eax], ecx
mov eax, dword [esp + 0x84]
lea edx, [eax + 2]
cmp dword [esp + 0x7c], edx
jl 0x100bf67a
mov esi, dword [ebx]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x74], ebx
add eax, esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x90], eax
add eax, edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x80]
add eax, 8
mov dword [esp + 0xa4], eax
lea esi, [esi]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0xa8]
sub edx, eax
mov eax, dword [esp + 0xa4]
add ecx, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
movzx ebx, byte [edi + ecx]
movzx eax, byte [eax]
cmp bl, al
jne 0x100bf5a8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 1]
movzx eax, byte [edi + eax + 1]
cmp bl, al
jne 0x100bf5a8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 2]
movzx eax, byte [edi + eax + 2]
cmp bl, al
jne 0x100bf5a8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 3]
movzx eax, byte [edi + eax + 3]
cmp bl, al
jne 0x100bf5a8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 4]
movzx eax, byte [edi + eax + 4]
cmp bl, al
jne 0x100bf5a8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 5]
movzx eax, byte [edi + eax + 5]
cmp bl, al
jne 0x100bf5a8
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 6]
movzx ebx, byte [edi + eax + 6]
mov eax, esi
cmp al, bl
jne 0x100bf670
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 7]
movzx ebx, byte [edi + eax + 7]
mov eax, esi
cmp al, bl
jne 0x100bf670
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 8]
movzx ebx, byte [edi + eax + 8]
mov eax, esi
cmp al, bl
jne 0x100bf670
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 9]
movzx ebx, byte [edi + eax + 9]
mov eax, esi
cmp al, bl
jne 0x100bf670
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xa]
movzx ebx, byte [edi + eax + 0xa]
mov eax, esi
cmp al, bl
jne 0x100bf670
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xb]
movzx ebx, byte [edi + eax + 0xb]
mov eax, esi
cmp al, bl
jne 0x100bf670
lea eax, [ecx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
add ecx, 8
add ebx, 0xc
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx]
movzx ecx, byte [edi + edx]
mov edx, esi
cmp cl, dl
jne 0x100c0104
mov edx, dword [esp + 0x54]
movzx esi, word [eax + ebx*2]
lea ecx, [edx + edx]
movzx edx, word [eax + edx*2]
mov dword [esp + 0x4c], ecx
lea ecx, [ebx + ebx]
mov word [esp + 0x2a], dx
mov dword [esp + 0x48], ecx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 1]
movzx ecx, byte [edi + edx + 1]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 2]
movzx esi, word [eax + ecx + 2]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 2]
movzx ecx, byte [edi + edx + 2]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 4]
movzx esi, word [eax + ecx + 4]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 3]
movzx ecx, byte [edi + edx + 3]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 6]
movzx esi, word [eax + ecx + 6]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 4]
movzx ecx, byte [edi + edx + 4]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 8]
movzx esi, word [eax + ecx + 8]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 5]
movzx ecx, byte [edi + edx + 5]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 0xa]
movzx esi, word [eax + ecx + 0xa]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 6]
movzx ecx, byte [edi + edx + 6]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, word [eax + edx + 0xc]
movzx esi, word [eax + ecx + 0xc]
mov word [esp + 0x2a], dx
cmp dx, si
jne 0x100bfff1
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 7]
movzx ecx, byte [edi + edx + 7]
mov edx, esi
cmp cl, dl
jne 0x100c0054
mov edx, dword [esp + 0x4c]
movzx esi, word [eax + edx + 0xe]
mov edx, dword [esp + 0x48]
movzx ecx, word [eax + edx + 0xe]
cmp si, cx
jne 0x100c0116
add dword [esp + 0x54], 8
mov esi, dword [esp + 0x54]
add ebx, 8
mov edx, esi
sub edx, dword [ebp + 0xc]
cmp esi, dword [ebp + 0xc]
mov ecx, edx
mov edx, dword [ebp + 0x10]
cmovb ecx, esi
mov dword [esp + 0x54], ecx
mov ecx, ebx
sub ecx, dword [ebp + 0xc]
cmp ebx, dword [ebp + 0xc]
cmovae ebx, ecx
sub dword [edx], 1
sub dword [esp + 0x24], 8
jns 0x100bf38f
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
lea ecx, [eax + edx*4]
jmp 0x100bf5fd
cmp al, bl
setb bl
mov ecx, dword [esp + 0xa0]
test bl, bl
je 0x100bf640
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x98]
mov ebx, dword [eax]
add eax, esi
mov dword [esp + 0xa4], eax
lea eax, [ecx + esi]
mov dword [ecx], ebx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x9c], edx
jle 0x100bf210
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ebp + 0x10]
mov dword [ecx], esi
add ebx, 0xc
add dword [esp + 0x84], 3
mov esi, dword [eax]
add dword [esp + 0x80], 0xc
test esi, esi
jns 0x100be930
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
jmp 0x100bed6d
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
jmp 0x100bf5fd
cmp bl, al
setb bl
jmp 0x100bed1d
mov ecx, edi
cmp al, cl
setb cl
jmp 0x100bf16f
cmp bl, al
setb bl
jmp 0x100bf5ad
mov ecx, dword [esp + 0x64]
sub ecx, 1
jae 0x100be8e9
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x100bf61f
mov edx, dword [esp + 0x60]
test edx, edx
je 0x100bf6bb
cmp dword [esp + 0x60], 0x61
jle 0x100bf6ab
mov dword [esp], 0x3e9
call sym.secondstage.dll_bz_internal_error
mov eax, dword [esp + 0x60]
mov dword [esp + 0x98], eax
jmp 0x100be81e
mov eax, dword [eax]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
test eax, eax
js 0x100bf61f
mov eax, dword [esi]
jmp 0x100be7b0
add eax, 1
cmp eax, 1
jle 0x100bf687
xor ecx, ecx
cmp eax, 4
jle 0x100be8d6
xor ecx, ecx
cmp eax, 0xd
setg cl
add ecx, 1
jmp 0x100be8d6
lea eax, [edi + edx]
mov ecx, edi
mov edi, dword [esp + 0x68]
sar eax, 1
lea esi, [edi + ebx]
mov edi, dword [esp + 0x70]
mov ebx, dword [edi + eax*4]
mov eax, dword [edi + edx*4]
add eax, esi
add ebx, esi
movzx edx, byte [eax]
lea eax, [ecx*4]
movzx ebx, byte [ebx]
mov dword [esp + 0x90], eax
add eax, edi
mov edi, dword [eax]
mov dword [esp + 0x8c], eax
add edi, esi
movzx eax, byte [edi]
cmp dl, al
jb 0x100bf747
mov ecx, edx
movzx edx, al
movzx eax, cl
cmp bl, dl
mov dword [esp + 0xa0], esi
cmovae edx, ebx
cmp bl, al
mov ebx, dword [esp + 0x70]
cmovb eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x7c]
mov edi, edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], eax
lea esi, cs:[esi]
cmp edi, eax
jle 0x100bf7c4
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
add edx, 1
mov dword [esp + 0xa4], edx
cmp dword [esp + 0x9c], ecx
jge 0x100bf885
mov eax, dword [esp + 0x60]
mov dword [esp + eax*4 + 0x4d0], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
jmp 0x100bf698
mov ecx, dword [ebx + edi*4]
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
movzx edx, byte [edx + ecx]
sub edx, esi
test edx, edx
je 0x100bf864
jle 0x100bf85c
mov dword [esp + 0xac], edi
jmp 0x100bf7fb
js 0x100bf84a
cmp dword [esp + 0xac], eax
jg 0x100bf83e
mov edx, dword [ebx + eax*4]
mov ecx, dword [esp + 0xa0]
mov edi, eax
sub eax, 1
mov esi, dword [esp + 0xa4]
movzx ecx, byte [ecx + edx]
cmp ecx, esi
jne 0x100bf7f0
mov esi, dword [esp + 0x9c]
lea ecx, [ebx + esi*4]
sub esi, 1
mov edi, dword [ecx]
mov dword [esp + 0x9c], esi
mov dword [ebx + eax*4 + 4], edi
mov dword [ecx], edx
cmp dword [esp + 0xac], eax
jle 0x100bf7fb
mov edi, dword [esp + 0xac]
jmp 0x100bf784
mov esi, edi
mov edi, dword [esp + 0xac]
mov ecx, dword [ebx + edi*4]
mov dword [ebx + edi*4], edx
mov dword [ebx + esi*4], ecx
add edi, 1
jmp 0x100bf780
mov esi, dword [esp + 0x94]
add dword [esp + 0x94], 1
lea edx, [ebx + esi*4]
mov esi, dword [edx]
mov dword [ebx + edi*4], esi
add edi, 1
mov dword [edx], ecx
jmp 0x100bf780
mov ebx, dword [esp + 0x6c]
mov edx, ecx
mov ecx, edi
sub ecx, edx
sub edx, ebx
cmp ecx, edx
cmovle edx, ecx
mov esi, edx
mov edx, edi
sub edx, esi
mov dword [esp + 0xac], edx
test esi, esi
jle 0x100bf9cf
cmp esi, 3
jle 0x100c0002
mov ebx, dword [esp + 0x90]
lea ecx, [edx*4 + 0x10]
lea edx, [edx*4]
add ebx, 0x10
cmp edx, ebx
jge 0x100bf8dd
cmp dword [esp + 0x90], ecx
jl 0x100c0002
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x8c]
add edx, ebx
mov ebx, esi
shr ebx, 2
shl ebx, 4
add ebx, edx
movdqu xmm0, xmmword [ecx]
movdqu xmm1, xmmword [edx]
add edx, 0x10
add ecx, 0x10
movups xmmword [ecx - 0x10], xmm1
movups xmmword [edx - 0x10], xmm0
cmp ebx, edx
jne 0x100bf8f4
mov ecx, dword [esp + 0xac]
mov edx, esi
mov ebx, esi
and edx, 0xfffffffc
and ebx, 3
add ecx, edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x6c]
add edx, ecx
and esi, 3
mov dword [esp + 0xa0], edx
je 0x100bf9cf
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0xac]
cmp dword [esp + 0x90], 1
lea edx, [ecx + edx*4]
lea ecx, [ecx + esi*4]
mov ebx, dword [edx]
mov esi, dword [ecx]
mov dword [edx], esi
mov dword [ecx], ebx
je 0x100bf9cf
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0xac]
lea ebx, [edx*4 + 4]
mov edx, dword [esp + 0x70]
lea esi, [esi*4 + 4]
mov dword [esp + 0xa0], ebx
lea ecx, [edx + ebx]
add edx, esi
mov dword [esp + 0xac], esi
cmp dword [esp + 0x90], 2
mov ebx, dword [ecx]
mov esi, dword [edx]
mov dword [ecx], esi
mov dword [edx], ebx
je 0x100bf9cf
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xa0]
lea ecx, [edx + ebx + 4]
mov ebx, dword [esp + 0xac]
mov esi, dword [ecx]
lea edx, [edx + ebx + 4]
mov ebx, dword [edx]
mov dword [ecx], ebx
mov dword [edx], esi
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x7c]
mov edx, ebx
sub edx, eax
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x9c], edx
cmp eax, edx
cmovg eax, edx
sub ecx, eax
mov esi, eax
mov dword [esp + 0xac], ecx
test eax, eax
jle 0x100bfaf2
cmp eax, 3
jle 0x100bff2d
lea edx, [ecx*4 + 0x14]
lea ecx, [edi*4]
lea eax, [edx - 0x10]
lea ebx, [ecx + 0x10]
cmp eax, ebx
jge 0x100bfa2a
cmp edx, ecx
jg 0x100bff34
mov edx, dword [esp + 0x70]
add eax, edx
add edx, ecx
mov ecx, esi
shr ecx, 2
shl ecx, 4
add ecx, eax
movdqu xmm0, xmmword [edx]
movdqu xmm1, xmmword [eax]
add eax, 0x10
add edx, 0x10
movups xmmword [edx - 0x10], xmm1
movups xmmword [eax - 0x10], xmm0
cmp eax, ecx
jne 0x100bfa3c
test esi, 3
je 0x100bfaf2
mov edx, dword [esp + 0xac]
mov eax, esi
and esi, 3
and eax, 0xfffffffc
mov dword [esp + 0xa0], esi
lea esi, [edx + eax + 1]
mov edx, dword [esp + 0x70]
add eax, edi
cmp dword [esp + 0xa0], 1
mov dword [esp + 0xac], eax
lea ecx, [edx + eax*4]
lea edx, [edx + esi*4]
mov ebx, dword [ecx]
mov eax, dword [edx]
mov dword [ecx], eax
mov dword [edx], ebx
je 0x100bfaf2
mov eax, dword [esp + 0xac]
lea esi, [esi*4 + 4]
lea edx, [eax*4 + 4]
mov eax, dword [esp + 0x70]
mov dword [esp + 0xac], edx
add edx, eax
add eax, esi
cmp dword [esp + 0xa0], 2
mov ebx, dword [edx]
mov ecx, dword [eax]
mov dword [edx], ecx
mov dword [eax], ebx
je 0x100bfaf2
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xac]
lea edx, [eax + edx + 4]
lea eax, [eax + esi + 4]
mov ecx, dword [edx]
mov ebx, dword [eax]
mov dword [edx], ebx
mov dword [eax], ecx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x94]
add eax, edi
mov edi, dword [esp + 0x7c]
mov ebx, eax
mov eax, dword [esp + 0x6c]
sub ebx, edx
mov edx, dword [esp + 0x9c]
mov esi, edi
mov dword [esp + 0x9c], edi
lea ecx, [ebx - 1]
mov dword [esp + 0xac], ebx
sub esi, edx
mov ebx, ecx
sub ebx, eax
lea edx, [esi + 1]
mov eax, edi
mov edi, dword [esp + 0xac]
sub eax, edx
cmp ebx, eax
mov dword [esp + 0xa0], eax
mov eax, esi
jl 0x100bfefe
sub eax, edi
mov edi, eax
cmp dword [esp + 0xa0], eax
jl 0x100bffcc
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x7c], ecx
mov ecx, eax
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xa8], eax
mov eax, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x7c], ecx
mov ecx, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xac], edi
mov dword [esp + 0x6c], edx
mov edx, eax
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0xac]
mov dword [esp + eax*4 + 0x1b0], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + eax*4 + 0x340], esi
mov dword [esp + eax*4 + 0x4d0], edi
mov edi, dword [esp + 0x98]
mov eax, dword [esp + 0x6c]
mov dword [esp + edi*4 + 0x4d0], ebx
mov dword [esp + edi*4 + 0x1b0], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + edi*4 + 0x340], eax
lea eax, [edi + 1]
mov dword [esp + eax*4 + 0x1b0], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + eax*4 + 0x340], ecx
mov dword [esp + eax*4 + 0x4d0], edx
lea eax, [edi + 2]
mov dword [esp + 0x60], eax
jmp 0x100bf698
mov eax, dword [esp + 0x50]
cmp byte [esp + eax + 0xb0], 0
jne 0x100c0075
mov eax, dword [esp + 0x50]
lea ebx, [esp + 0xe60]
lea edx, [eax*4]
mov dword [esp + 0xa4], edx
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [esp + 0x3c]
lea esi, [edx + eax*4]
xor edx, edx
mov ecx, esi
lea esi, [esi]
mov eax, dword [ecx]
add ecx, 0x400
and eax, 0xffdfffff
mov dword [esp + edx*4 + 0xa60], eax
mov eax, dword [ecx - 0x3fc]
and eax, 0xffdfffff
sub eax, 1
mov dword [ebx + edx*4], eax
add edx, 1
cmp edx, 0x100
jne 0x100bfc68
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov edx, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x50]
and edx, 0xffdfffff
mov ecx, dword [esp + eax*4 + 0xa60]
cmp edx, ecx
jge 0x100bfd17
mov eax, dword [esp + 0x70]
mov ebx, dword [eax + edx*4]
lea eax, [ebx - 1]
mov dword [esp + 0xac], ebx
mov ebx, dword [ebp + 0xc]
add ebx, eax
test eax, eax
cmovs eax, ebx
mov ebx, dword [esp + 0x68]
movzx ebx, byte [ebx + eax]
cmp byte [esp + ebx + 0xb0], 0
jne 0x100bfec6
mov ecx, dword [esp + ebx*4 + 0xa60]
add edx, 1
lea edi, [ecx + 1]
mov dword [esp + ebx*4 + 0xa60], edi
mov edi, dword [esp + 0x70]
mov dword [edi + ecx*4], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + eax*4 + 0xa60]
cmp edx, ecx
jl 0x100bfcbc
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x20]
lea edi, [eax + edx + 0x400]
mov edx, dword [esp + 0x50]
mov eax, dword [edi]
mov edx, dword [esp + edx*4 + 0xe60]
and eax, 0xffdfffff
sub eax, 1
cmp eax, edx
jle 0x100bfdb5
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], ecx
mov ebx, dword [esp + 0x70]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebx + eax*4]
mov dword [esp + 0xa0], ebx
sub ebx, 1
add esi, ebx
test ebx, ebx
cmovs ebx, esi
mov esi, dword [esp + 0x68]
movzx esi, byte [esi + ebx]
cmp byte [esp + esi + 0xb0], 0
jne 0x100bfeb6
mov edx, dword [esp + esi*4 + 0xe60]
sub eax, 1
lea ecx, [edx - 1]
mov dword [esp + esi*4 + 0xe60], ecx
mov esi, dword [esp + 0x70]
mov dword [esi + edx*4], ebx
mov edx, dword [esp + 0x50]
mov edx, dword [esp + edx*4 + 0xe60]
cmp eax, edx
jg 0x100bfd4c
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
lea eax, [ecx - 1]
cmp eax, edx
je 0x100bfdd2
test ecx, ecx
jne 0x100bfdc6
cmp dword [esp + 0x40], edx
je 0x100bfdd2
mov dword [esp], 0x3ef
call sym.secondstage.dll_bz_internal_error
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
add eax, edx
mov edx, eax
sub edx, esi
and dh, 4
je 0x100bfdf8
or dword [esi], 0x200000
add esi, 0x400
cmp esi, eax
je 0x100bfe12
or dword [esi], 0x200000
or dword [esi + 0x400], 0x200000
add esi, 0x800
cmp esi, eax
jne 0x100bfdf8
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
mov byte [esp + eax + 0xb0], 1
cmp dword [esp + 0x1c], edx
je 0x100bf61f
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
and eax, 0xffdfffff
mov esi, eax
mov eax, dword [edi]
and eax, 0xffdfffff
sub eax, esi
mov edx, eax
cmp eax, 0xfffe
jle 0x100c0125
xor ecx, ecx
add ecx, 1
mov eax, edx
sar eax, cl
cmp eax, 0xfffe
jg 0x100bfe51
mov ebx, ecx
sub edx, 1
mov eax, dword [esp + 0x70]
mov dword [esp + 0xac], edx
mov ecx, ebx
lea esi, [eax + esi*4]
mov eax, edx
mov edi, dword [esi + eax*4]
mov ebx, dword [esp + 0x44]
mov edx, eax
sar edx, cl
mov word [ebx + edi*2], dx
cmp edi, 0x21
jg 0x100bfe91
add edi, dword [ebp + 0xc]
mov word [ebx + edi*2], dx
sub eax, 1
jae 0x100bfe76
mov edx, dword [esp + 0xac]
mov eax, edx
sar eax, cl
cmp eax, 0xffff
jg 0x100c00a6
add dword [esp + 0x38], 4
jmp 0x100be786
sub eax, 1
cmp eax, edx
jg 0x100bfd4c
jmp 0x100bfda7
add edx, 1
cmp edx, ecx
jl 0x100bfcbc
jmp 0x100bfd17
mov ecx, 6
jmp 0x100be8d6
mov ecx, 5
jmp 0x100be8d6
mov ecx, 4
jmp 0x100be8d6
mov ecx, 3
jmp 0x100be8d6
sub eax, edi
mov edi, eax
cmp eax, ebx
jle 0x100bff8e
mov eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
cmp dword [esp + 0xa0], edi
jge 0x100c0135
mov ebx, dword [esp + 0xa8]
jmp 0x100bfbaf
lea ecx, [edi*4]
mov edx, dword [esp + 0x70]
lea eax, [esi + edi]
lea ebx, [edx + eax*4]
mov eax, dword [esp + 0xac]
add ecx, edx
sub eax, edi
mov edx, dword [ecx]
mov esi, dword [ecx + eax*4 + 4]
mov dword [ecx], esi
mov dword [ecx + eax*4 + 4], edx
add ecx, 4
cmp ebx, ecx
jne 0x100bff49
jmp 0x100bfaf2
mov eax, ecx
mov ecx, edi
mov edx, dword [esp + 0xa0]
cmp al, cl
setb cl
test cl, cl
je 0x100bf140
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
jmp 0x100bf173
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x6c], edx
mov edx, eax
jmp 0x100bfb6f
mov ecx, 0xa
jmp 0x100be8d6
mov ecx, 9
jmp 0x100be8d6
mov ecx, 8
jmp 0x100be8d6
mov ecx, 7
jmp 0x100be8d6
mov eax, ecx
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
jmp 0x100bff14
cmp cx, di
mov edx, dword [esp + 0xa0]
setb cl
jmp 0x100bff71
cmp si, word [esp + 0x2a]
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bf5ad
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x8c]
lea edx, [esi + ebx]
mov esi, dword [esp + 0x70]
lea esi, [esi + edx*4]
mov edx, dword [esp + 0xac]
mov dword [esp + 0xac], eax
sub edx, ebx
mov ebx, dword [ecx]
mov eax, dword [ecx + edx*4]
mov dword [ecx], eax
mov dword [ecx + edx*4], ebx
add ecx, 4
cmp ecx, esi
jne 0x100c0027
mov eax, dword [esp + 0xac]
jmp 0x100bf9cf
mov eax, esi
mov edx, dword [esp + 0x5c]
cmp al, cl
setb bl
jmp 0x100bed1d
mov eax, esi
mov edx, dword [esp + 0x5c]
cmp al, cl
setb bl
jmp 0x100bf5ad
cmp si, word [esp + 0x2a]
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bed1d
mov dword [esp], 0x3ee
call sym.secondstage.dll_bz_internal_error
jmp 0x100bfc37
mov esi, dword [esp + 0x68]
xor eax, eax
movzx ebx, byte [esi + eax]
mov byte [edx + eax], bl
xor ebx, ebx
mov word [ecx + eax*2], bx
add eax, 1
cmp eax, 0x22
jne 0x100c008c
jmp 0x100be496
mov dword [esp], 0x3ea
call sym.secondstage.dll_bz_internal_error
add dword [esp + 0x38], 4
jmp 0x100be786
mov eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x5c]
cmp cl, al
setb bl
jmp 0x100bed1d
cmp cx, si
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bed1d
mov eax, ecx
mov ecx, edi
mov edx, dword [esp + 0xa0]
cmp cl, al
setb cl
jmp 0x100bff71
cmp cx, di
mov edx, dword [esp + 0xa0]
setb cl
jmp 0x100bff71
mov eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x5c]
cmp cl, al
setb bl
jmp 0x100bf5ad
cmp cx, si
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bf5ad
sub edx, 1
js 0x100bfeac
xor ebx, ebx
jmp 0x100bfe64
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
xchg ecx, esi
mov dword [esp + 0xa4], eax
mov eax, edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0xac], eax
jmp 0x100bfb6f