Function at 0x100be9c0
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.100af400
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 0x100bea17
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 0x100beb05
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 0x100beb05
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 0x100beb05
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 0x100c07b6
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 0x100c07b6
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 0x100bebe0
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 0x100bec06
cmp dword [esp + 0xa8], 0xffffffff
mov edi, dword [esp + 0xac]
je 0x100bed50
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 0x100bed50
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 0x100bed50
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 [0x10129b70]
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 0x100bed83
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 0x100bee0e
mov eax, dword [esp + 0xa8]
mov dword [edx], ebx
add edx, eax
mov eax, dword [esp + 0xac]
cmp ecx, eax
jl 0x100bee8d
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 0x100bedf8
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 0x100bedbe
mov edi, dword [esp + 0xac]
cmp edi, 1
je 0x100bee9f
mov eax, 0x55555556
imul edi
mov eax, edi
sar eax, 0x1f
sub edx, eax
mov edi, edx
jmp 0x100beda5
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov edi, ecx
jmp 0x100bee56
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 0x100beef9
or eax, 0x200000
mov dword [esi], eax
add ebx, 1
add esi, 4
cmp ebx, 0x100
je 0x100c0355
cmp edi, ebx
je 0x100beee7
mov eax, dword [esi]
test eax, 0x200000
jne 0x100beee0
mov edx, dword [esi + 4]
mov ecx, eax
and ecx, 0xffdfffff
and edx, 0xffdfffff
sub edx, 1
cmp ecx, edx
jge 0x100beee0
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 0x100bfe08
cmp ebx, 0xe
jle 0x100bfe2b
add eax, 1
mov ecx, 2
cmp eax, 0x28
jle 0x100bf006
cmp eax, 0x79
jle 0x100c0624
cmp eax, 0x16c
jle 0x100c061a
cmp eax, 0x445
jle 0x100c0610
cmp eax, 0xcd0
jle 0x100c0606
cmp eax, 0x2671
jle 0x100c06f2
cmp eax, 0x7354
jle 0x100c06e8
cmp eax, 0x159fd
jle 0x100c06de
cmp eax, 0x40df8
jle 0x100c06d4
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 + 0x101460a0]
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 0x100bfdaa
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 0x100bf448
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 1]
movzx eax, byte [edi + eax + 1]
cmp bl, al
jne 0x100bf448
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 2]
movzx eax, byte [edi + eax + 2]
cmp bl, al
jne 0x100bf448
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 3]
movzx eax, byte [edi + eax + 3]
cmp bl, al
jne 0x100bf448
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 4]
movzx eax, byte [edi + eax + 4]
cmp bl, al
jne 0x100bf448
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 5]
movzx eax, byte [edi + eax + 5]
cmp bl, al
jne 0x100bf448
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 6]
movzx ebx, byte [edi + eax + 6]
mov eax, esi
cmp al, bl
jne 0x100bfd80
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 7]
movzx ebx, byte [edi + eax + 7]
mov eax, esi
cmp al, bl
jne 0x100bfd80
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 8]
movzx ebx, byte [edi + eax + 8]
mov eax, esi
cmp al, bl
jne 0x100bfd80
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 9]
movzx ebx, byte [edi + eax + 9]
mov eax, esi
cmp al, bl
jne 0x100bfd80
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xa]
movzx ebx, byte [edi + eax + 0xa]
mov eax, esi
cmp al, bl
jne 0x100bfd80
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xb]
movzx ebx, byte [edi + eax + 0xb]
mov eax, esi
cmp al, bl
jne 0x100bfd80
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 0x100c07ec
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 1]
movzx ecx, byte [edi + edx + 1]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 2]
movzx ecx, byte [edi + edx + 2]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 3]
movzx ecx, byte [edi + edx + 3]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 4]
movzx ecx, byte [edi + edx + 4]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 5]
movzx ecx, byte [edi + edx + 5]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 6]
movzx ecx, byte [edi + edx + 6]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c0794
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 7]
movzx ecx, byte [edi + edx + 7]
mov edx, esi
cmp cl, dl
jne 0x100c0774
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 0x100c07fe
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 0x100bf22f
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 0x100bf49d
cmp al, bl
setb bl
mov ecx, dword [esp + 0xa0]
test bl, bl
je 0x100bfd60
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 0x100bf0b0
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 0x100bfdaa
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 0x100bf898
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 1]
movzx edi, byte [esi + edi + 1]
mov ebx, edi
cmp al, bl
jne 0x100bf898
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 2]
movzx edi, byte [esi + edi + 2]
mov ebx, edi
cmp al, bl
jne 0x100bf898
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 3]
movzx edi, byte [esi + edi + 3]
mov ebx, edi
cmp al, bl
jne 0x100bf898
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 4]
movzx edi, byte [esi + edi + 4]
mov ebx, edi
cmp al, bl
jne 0x100bf898
mov edi, dword [esp + 0x8c]
movzx eax, byte [esi + ecx + 5]
movzx edi, byte [esi + edi + 5]
mov ebx, edi
cmp al, bl
jne 0x100bf898
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 6]
movzx eax, byte [esi + eax + 6]
mov ebx, edi
cmp bl, al
jne 0x100bfd90
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 7]
movzx eax, byte [esi + eax + 7]
mov ebx, edi
cmp bl, al
jne 0x100bfd90
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 8]
movzx eax, byte [esi + eax + 8]
mov ebx, edi
cmp bl, al
jne 0x100bfd90
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 9]
movzx eax, byte [esi + eax + 9]
mov ebx, edi
cmp bl, al
jne 0x100bfd90
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 0xa]
movzx eax, byte [esi + eax + 0xa]
mov ebx, edi
cmp bl, al
jne 0x100bfd90
mov eax, dword [esp + 0x8c]
movzx edi, byte [esi + ecx + 0xb]
movzx eax, byte [esi + eax + 0xb]
mov ebx, edi
cmp bl, al
jne 0x100bfd90
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 0x100c080d
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 1]
movzx edi, byte [esi + edx + 1]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 2]
movzx edi, byte [esi + edx + 2]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 3]
movzx edi, byte [esi + edx + 3]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 4]
movzx edi, byte [esi + edx + 4]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 5]
movzx edi, byte [esi + edx + 5]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 6]
movzx edi, byte [esi + edx + 6]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0712
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esi + ebx + 7]
movzx edi, byte [esi + edx + 7]
mov edx, edi
cmp dl, cl
jne 0x100c0691
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 0x100c0822
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 0x100bf688
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 0x100bf8e2
mov ecx, edi
cmp cl, al
setb cl
test cl, cl
je 0x100bf870
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 0x100bf4f0
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 0x100bfdaa
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 0x100bfcd8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 1]
movzx eax, byte [edi + eax + 1]
cmp bl, al
jne 0x100bfcd8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 2]
movzx eax, byte [edi + eax + 2]
cmp bl, al
jne 0x100bfcd8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 3]
movzx eax, byte [edi + eax + 3]
cmp bl, al
jne 0x100bfcd8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 4]
movzx eax, byte [edi + eax + 4]
cmp bl, al
jne 0x100bfcd8
mov eax, dword [esp + 0x90]
movzx ebx, byte [edi + ecx + 5]
movzx eax, byte [edi + eax + 5]
cmp bl, al
jne 0x100bfcd8
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 6]
movzx ebx, byte [edi + eax + 6]
mov eax, esi
cmp al, bl
jne 0x100bfda0
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 7]
movzx ebx, byte [edi + eax + 7]
mov eax, esi
cmp al, bl
jne 0x100bfda0
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 8]
movzx ebx, byte [edi + eax + 8]
mov eax, esi
cmp al, bl
jne 0x100bfda0
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 9]
movzx ebx, byte [edi + eax + 9]
mov eax, esi
cmp al, bl
jne 0x100bfda0
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xa]
movzx ebx, byte [edi + eax + 0xa]
mov eax, esi
cmp al, bl
jne 0x100bfda0
mov eax, dword [esp + 0x90]
movzx esi, byte [edi + ecx + 0xb]
movzx ebx, byte [edi + eax + 0xb]
mov eax, esi
cmp al, bl
jne 0x100bfda0
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 0x100c0834
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 1]
movzx ecx, byte [edi + edx + 1]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 2]
movzx ecx, byte [edi + edx + 2]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 3]
movzx ecx, byte [edi + edx + 3]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 4]
movzx ecx, byte [edi + edx + 4]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 5]
movzx ecx, byte [edi + edx + 5]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 6]
movzx ecx, byte [edi + edx + 6]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0721
mov edx, dword [esp + 0x54]
movzx esi, byte [edi + ebx + 7]
movzx ecx, byte [edi + edx + 7]
mov edx, esi
cmp cl, dl
jne 0x100c0784
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 0x100c0846
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 0x100bfabf
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 0x100bfd2d
cmp al, bl
setb bl
mov ecx, dword [esp + 0xa0]
test bl, bl
je 0x100bfd70
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 0x100bf940
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 0x100bf060
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
jmp 0x100bf49d
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
jmp 0x100bfd2d
cmp bl, al
setb bl
jmp 0x100bf44d
mov ecx, edi
cmp al, cl
setb cl
jmp 0x100bf89f
cmp bl, al
setb bl
jmp 0x100bfcdd
mov ecx, dword [esp + 0x64]
sub ecx, 1
jae 0x100bf019
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x100bfd4f
mov edx, dword [esp + 0x60]
test edx, edx
je 0x100bfdeb
cmp dword [esp + 0x60], 0x61
jle 0x100bfddb
mov dword [esp], 0x3e9
call sym.secondstage.dll_bz_internal_error
mov eax, dword [esp + 0x60]
mov dword [esp + 0x98], eax
jmp 0x100bef4e
mov eax, dword [eax]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
test eax, eax
js 0x100bfd4f
mov eax, dword [esi]
jmp 0x100beee0
add eax, 1
cmp eax, 1
jle 0x100bfdb7
xor ecx, ecx
cmp eax, 4
jle 0x100bf006
xor ecx, ecx
cmp eax, 0xd
setg cl
add ecx, 1
jmp 0x100bf006
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 0x100bfe77
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 0x100bfef4
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
add edx, 1
mov dword [esp + 0xa4], edx
cmp dword [esp + 0x9c], ecx
jge 0x100bffb5
mov eax, dword [esp + 0x60]
mov dword [esp + eax*4 + 0x4d0], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
jmp 0x100bfdc8
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 0x100bff94
jle 0x100bff8c
mov dword [esp + 0xac], edi
jmp 0x100bff2b
js 0x100bff7a
cmp dword [esp + 0xac], eax
jg 0x100bff6e
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 0x100bff20
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 0x100bff2b
mov edi, dword [esp + 0xac]
jmp 0x100bfeb4
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 0x100bfeb0
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 0x100bfeb0
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 0x100c00ff
cmp esi, 3
jle 0x100c0732
mov ebx, dword [esp + 0x90]
lea ecx, [edx*4 + 0x10]
lea edx, [edx*4]
add ebx, 0x10
cmp edx, ebx
jge 0x100c000d
cmp dword [esp + 0x90], ecx
jl 0x100c0732
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 0x100c0024
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 0x100c00ff
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 0x100c00ff
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 0x100c00ff
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 0x100c0222
cmp eax, 3
jle 0x100c065d
lea edx, [ecx*4 + 0x14]
lea ecx, [edi*4]
lea eax, [edx - 0x10]
lea ebx, [ecx + 0x10]
cmp eax, ebx
jge 0x100c015a
cmp edx, ecx
jg 0x100c0664
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 0x100c016c
test esi, 3
je 0x100c0222
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 0x100c0222
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 0x100c0222
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 0x100c062e
sub eax, edi
mov edi, eax
cmp dword [esp + 0xa0], eax
jl 0x100c06fc
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 0x100bfdc8
mov eax, dword [esp + 0x50]
cmp byte [esp + eax + 0xb0], 0
jne 0x100c07a5
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 0x100c0398
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 0x100c0447
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 0x100c05f6
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 0x100c03ec
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 0x100c04e5
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 0x100c05e6
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 0x100c047c
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
lea eax, [ecx - 1]
cmp eax, edx
je 0x100c0502
test ecx, ecx
jne 0x100c04f6
cmp dword [esp + 0x40], edx
je 0x100c0502
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 0x100c0528
or dword [esi], 0x200000
add esi, 0x400
cmp esi, eax
je 0x100c0542
or dword [esi], 0x200000
or dword [esi + 0x400], 0x200000
add esi, 0x800
cmp esi, eax
jne 0x100c0528
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
mov byte [esp + eax + 0xb0], 1
cmp dword [esp + 0x1c], edx
je 0x100bfd4f
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 0x100c0855
xor ecx, ecx
add ecx, 1
mov eax, edx
sar eax, cl
cmp eax, 0xfffe
jg 0x100c0581
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 0x100c05c1
add edi, dword [ebp + 0xc]
mov word [ebx + edi*2], dx
sub eax, 1
jae 0x100c05a6
mov edx, dword [esp + 0xac]
mov eax, edx
sar eax, cl
cmp eax, 0xffff
jg 0x100c07d6
add dword [esp + 0x38], 4
jmp 0x100beeb6
sub eax, 1
cmp eax, edx
jg 0x100c047c
jmp 0x100c04d7
add edx, 1
cmp edx, ecx
jl 0x100c03ec
jmp 0x100c0447
mov ecx, 6
jmp 0x100bf006
mov ecx, 5
jmp 0x100bf006
mov ecx, 4
jmp 0x100bf006
mov ecx, 3
jmp 0x100bf006
sub eax, edi
mov edi, eax
cmp eax, ebx
jle 0x100c06be
mov eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
cmp dword [esp + 0xa0], edi
jge 0x100c0865
mov ebx, dword [esp + 0xa8]
jmp 0x100c02df
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 0x100c0679
jmp 0x100c0222
mov eax, ecx
mov ecx, edi
mov edx, dword [esp + 0xa0]
cmp al, cl
setb cl
test cl, cl
je 0x100bf870
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
jmp 0x100bf8a3
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x6c], edx
mov edx, eax
jmp 0x100c029f
mov ecx, 0xa
jmp 0x100bf006
mov ecx, 9
jmp 0x100bf006
mov ecx, 8
jmp 0x100bf006
mov ecx, 7
jmp 0x100bf006
mov eax, ecx
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
jmp 0x100c0644
cmp cx, di
mov edx, dword [esp + 0xa0]
setb cl
jmp 0x100c06a1
cmp si, word [esp + 0x2a]
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bfcdd
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 0x100c0757
mov eax, dword [esp + 0xac]
jmp 0x100c00ff
mov eax, esi
mov edx, dword [esp + 0x5c]
cmp al, cl
setb bl
jmp 0x100bf44d
mov eax, esi
mov edx, dword [esp + 0x5c]
cmp al, cl
setb bl
jmp 0x100bfcdd
cmp si, word [esp + 0x2a]
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bf44d
mov dword [esp], 0x3ee
call sym.secondstage.dll_bz_internal_error
jmp 0x100c0367
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 0x100c07bc
jmp 0x100bebc6
mov dword [esp], 0x3ea
call sym.secondstage.dll_bz_internal_error
add dword [esp + 0x38], 4
jmp 0x100beeb6
mov eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x5c]
cmp cl, al
setb bl
jmp 0x100bf44d
cmp cx, si
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bf44d
mov eax, ecx
mov ecx, edi
mov edx, dword [esp + 0xa0]
cmp cl, al
setb cl
jmp 0x100c06a1
cmp cx, di
mov edx, dword [esp + 0xa0]
setb cl
jmp 0x100c06a1
mov eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x5c]
cmp cl, al
setb bl
jmp 0x100bfcdd
cmp cx, si
mov edx, dword [esp + 0x5c]
setb bl
jmp 0x100bfcdd
sub edx, 1
js 0x100c05dc
xor ebx, ebx
jmp 0x100c0594
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 0x100c029f