Function at 0x1000bf20
Capabilities:
Encode data using base64

Disassembly:
mov eax, 0x10030
call fcn.1006a030
mov ecx, dword [0x1007d428]
push ebx
push ebp
xor eax, eax
mov ebp, 0xfffc
push esi
cmp ecx, eax
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], eax
jne 0x1000bf54
call fcn.1000baa0
mov ebx, dword [esp + 0x10044]
mov esi, dword [esp + 0x10048]
mov ecx, 0x4000
or eax, 0xffffffff
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov ecx, 0x2000
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, 1
lea edi, [esi + 6]
xor eax, eax
xor edx, edx
mov al, byte [edi - 2]
mov dl, byte [edi - 1]
shr eax, 1
shl eax, 5
shr edx, 1
add eax, edx
xor edx, edx
mov dl, byte [edi]
shl eax, 5
shr edx, 1
add eax, edx
cmp word [esp + eax*2 + 0x40], 0xffff
jne 0x1000bfd3
mov edx, dword [esp + 0x14]
mov byte [eax + ebx], cl
cmp edx, 0xfffc
mov word [esp + eax*2 + 0x40], 0xfffc
je 0x1000bfc9
mov word [esp + ebp*2 + 0x40], ax
mov ebp, eax
jmp 0x1000bfd7
mov edx, eax
mov ebp, eax
mov dword [esp + 0x14], edx
jmp 0x1000bfd7
mov edx, dword [esp + 0x14]
inc ecx
add edi, 4
cmp ecx, 0x100
jl 0x1000bf83
cmp edx, 0xfffc
mov dword [esp + 0x10], ebp
je 0x1000ce0c
jmp 0x1000bff9
mov edx, dword [esp + 0x14]
mov eax, edx
and eax, 0x1f
shl eax, 1
mov dword [esp + 0x24], eax
mov eax, edx
sar eax, 5
and eax, 0x1f
shl eax, 1
mov dword [esp + 0x1c], eax
mov eax, edx
sar eax, 0xa
and eax, 0x1f
shl eax, 1
mov dword [esp + 0x18], eax
xor eax, eax
mov al, byte [edx + ebx]
mov edi, dword [esp + 0x18]
mov cl, byte [esi + eax*4]
sub ecx, edi
mov edi, dword [esp + 0x1c]
and ecx, 0x7f
mov ecx, dword [ecx*4 + 0x1007d624]
mov dword [esp + 0x30], ecx
mov cl, byte [esi + eax*4 + 1]
sub ecx, edi
and ecx, 0x7f
mov ecx, dword [ecx*4 + 0x1007d424]
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov cl, byte [esi + eax*4 + 2]
mov dword [esp + 0x38], ecx
mov edi, ecx
mov ecx, dword [esp + 0x24]
sub edi, ecx
and edi, 0x7f
cmp ecx, 0x3d
mov edi, dword [edi*4 + 0x1007d824]
mov dword [esp + 0x2c], edi
jge 0x1000c151
mov cl, byte [edx + ebx + 1]
lea edi, [edx + 1]
test cl, cl
jne 0x1000c0ab
cmp word [esp + edi*2 + 0x40], 0xffff
mov byte [edi + ebx], al
jne 0x1000c151
mov word [esp + edi*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], di
mov ebp, edi
jmp 0x1000c14d
mov edi, ecx
and edi, 0xff
cmp edi, eax
mov dword [esp + 0x20], edi
je 0x1000c151
mov dl, byte [esi + edi*4 + 2]
mov ecx, dword [esp + 0x24]
sub ecx, edx
mov dl, byte [esi + edi*4 + 1]
mov edi, dword [esp + 0x1c]
add ecx, 2
sub edi, edx
and ecx, 0x7f
and edi, 0x7f
mov ecx, dword [ecx*4 + 0x1007d824]
mov edx, dword [edi*4 + 0x1007d424]
mov edi, dword [esp + 0x18]
add ecx, edx
mov edx, dword [esp + 0x20]
mov dl, byte [esi + edx*4]
sub edi, edx
and edi, 0x7f
mov edx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x38]
add ecx, edx
mov edx, dword [esp + 0x24]
sub edx, edi
mov edi, dword [esp + 0x28]
add edx, 2
and edx, 0x7f
mov edx, dword [edx*4 + 0x1007d824]
add edx, edi
mov edi, dword [esp + 0x30]
add edx, edi
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000c151
lea ecx, [edx + 1]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c151
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle 0x1000c231
mov cl, byte [edx + ebx - 1]
lea edi, [edx - 1]
test cl, cl
jne 0x1000c18b
cmp word [esp + edi*2 + 0x40], 0xffff
mov byte [edi + ebx], al
jne 0x1000c231
mov word [esp + edi*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], di
mov ebp, edi
jmp 0x1000c22d
mov edi, ecx
and edi, 0xff
cmp edi, eax
mov dword [esp + 0x20], edi
je 0x1000c231
mov cl, byte [esi + edi*4 + 2]
mov edx, dword [esp + 0x24]
sub edx, ecx
mov cl, byte [esi + edi*4 + 1]
mov edi, dword [esp + 0x1c]
sub edx, 2
sub edi, ecx
and edx, 0x7f
and edi, 0x7f
mov edx, dword [edx*4 + 0x1007d824]
mov ecx, dword [edi*4 + 0x1007d424]
mov edi, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x20]
mov cl, byte [esi + ecx*4]
sub edi, ecx
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x24]
add edx, ecx
mov cl, byte [esi + eax*4 + 2]
sub edi, ecx
sub edi, 2
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d824]
mov edi, dword [esp + 0x28]
add ecx, edi
mov edi, dword [esp + 0x30]
add ecx, edi
cmp edx, ecx
mov edx, dword [esp + 0x14]
jle 0x1000c231
lea ecx, [edx - 1]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c231
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x18], 0x3d
jge 0x1000c318
mov cl, byte [edx + ebx + 0x400]
lea edi, [edx + 0x400]
test cl, cl
jne 0x1000c270
cmp word [esp + edi*2 + 0x40], 0xffff
mov byte [edi + ebx], al
jne 0x1000c318
mov word [esp + edi*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], di
mov ebp, edi
jmp 0x1000c314
mov edi, ecx
and edi, 0xff
cmp edi, eax
mov dword [esp + 0x20], edi
je 0x1000c318
mov dl, byte [esi + edi*4 + 1]
mov ecx, dword [esp + 0x1c]
sub ecx, edx
mov dl, byte [esi + edi*4 + 2]
mov edi, dword [esp + 0x24]
and ecx, 0x7f
sub edi, edx
mov ecx, dword [ecx*4 + 0x1007d424]
and edi, 0x7f
mov edx, dword [edi*4 + 0x1007d824]
mov edi, dword [esp + 0x18]
add ecx, edx
mov edx, dword [esp + 0x20]
mov dl, byte [esi + edx*4]
sub edi, edx
add edi, 2
and edi, 0x7f
mov edx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x18]
add ecx, edx
mov dl, byte [esi + eax*4]
sub edi, edx
add edi, 2
and edi, 0x7f
mov edx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x2c]
add edx, edi
mov edi, dword [esp + 0x28]
add edx, edi
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000c318
lea ecx, [edx + 0x400]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c318
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x18]
test ecx, ecx
jle 0x1000c400
mov cl, byte [edx + ebx - 0x400]
lea edi, [edx - 0x400]
test cl, cl
jne 0x1000c358
cmp word [esp + edi*2 + 0x40], 0xffff
mov byte [edi + ebx], al
jne 0x1000c400
mov word [esp + edi*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], di
mov ebp, edi
jmp 0x1000c3fc
mov edi, ecx
and edi, 0xff
cmp edi, eax
mov dword [esp + 0x20], edi
je 0x1000c400
mov cl, byte [esi + edi*4 + 1]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov cl, byte [esi + edi*4 + 2]
mov edi, dword [esp + 0x24]
and edx, 0x7f
sub edi, ecx
mov edx, dword [edx*4 + 0x1007d424]
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d824]
mov edi, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x20]
mov cl, byte [esi + ecx*4]
sub edi, ecx
sub edi, 2
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x18]
add edx, ecx
mov cl, byte [esi + eax*4]
sub edi, ecx
sub edi, 2
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x2c]
add ecx, edi
mov edi, dword [esp + 0x28]
add ecx, edi
cmp edx, ecx
mov edx, dword [esp + 0x14]
jle 0x1000c400
lea ecx, [edx - 0x400]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c400
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x1c], 0x3d
jge 0x1000c4df
mov cl, byte [edx + ebx + 0x20]
lea edi, [edx + 0x20]
test cl, cl
jne 0x1000c439
cmp word [esp + edi*2 + 0x40], 0xffff
mov byte [edi + ebx], al
jne 0x1000c4df
mov word [esp + edi*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], di
mov ebp, edi
jmp 0x1000c4db
mov edi, ecx
and edi, 0xff
cmp edi, eax
mov dword [esp + 0x20], edi
je 0x1000c4df
mov dl, byte [esi + edi*4 + 1]
mov ecx, dword [esp + 0x1c]
sub ecx, edx
mov dl, byte [esi + edi*4 + 2]
mov edi, dword [esp + 0x24]
add ecx, 2
sub edi, edx
and ecx, 0x7f
and edi, 0x7f
mov ecx, dword [ecx*4 + 0x1007d424]
mov edx, dword [edi*4 + 0x1007d824]
mov edi, dword [esp + 0x18]
add ecx, edx
mov edx, dword [esp + 0x20]
mov dl, byte [esi + edx*4]
sub edi, edx
and edi, 0x7f
mov edx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x1c]
add ecx, edx
mov dl, byte [esi + eax*4 + 1]
sub edi, edx
add edi, 2
and edi, 0x7f
mov edx, dword [edi*4 + 0x1007d424]
mov edi, dword [esp + 0x2c]
add edx, edi
mov edi, dword [esp + 0x30]
add edx, edi
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000c4df
lea ecx, [edx + 0x20]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c4df
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x1000c5bf
mov cl, byte [edx + ebx - 0x20]
lea edi, [edx - 0x20]
test cl, cl
jne 0x1000c519
cmp word [esp + edi*2 + 0x40], 0xffff
mov byte [edi + ebx], al
jne 0x1000c5bf
mov word [esp + edi*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], di
mov ebp, edi
jmp 0x1000c5bb
mov edi, ecx
and edi, 0xff
cmp edi, eax
mov dword [esp + 0x20], edi
je 0x1000c5bf
mov cl, byte [esi + edi*4 + 1]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov cl, byte [esi + edi*4 + 2]
mov edi, dword [esp + 0x24]
sub edx, 2
sub edi, ecx
and edx, 0x7f
and edi, 0x7f
mov edx, dword [edx*4 + 0x1007d424]
mov ecx, dword [edi*4 + 0x1007d824]
mov edi, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x20]
mov cl, byte [esi + ecx*4]
sub edi, ecx
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d624]
mov edi, dword [esp + 0x1c]
add edx, ecx
mov cl, byte [esi + eax*4 + 1]
sub edi, ecx
sub edi, 2
and edi, 0x7f
mov ecx, dword [edi*4 + 0x1007d424]
mov edi, dword [esp + 0x2c]
add ecx, edi
mov edi, dword [esp + 0x30]
add ecx, edi
cmp edx, ecx
mov edx, dword [esp + 0x14]
jle 0x1000c5bf
lea ecx, [edx - 0x20]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c5bf
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle 0x1000c6a1
xor ecx, ecx
mov cl, byte [edx + ebx - 1]
cmp ecx, eax
jne 0x1000c6a1
mov edi, dword [esp + 0x18]
dec edx
test edi, edi
jle 0x1000c610
cmp byte [edx + ebx - 0x400], 0
lea ecx, [edx - 0x400]
jne 0x1000c610
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c610
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp edi, 0x3d
jge 0x1000c643
cmp byte [edx + ebx + 0x400], 0
lea ecx, [edx + 0x400]
jne 0x1000c643
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c643
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov edi, dword [esp + 0x1c]
test edi, edi
jle 0x1000c673
cmp byte [edx + ebx - 0x20], 0
lea ecx, [edx - 0x20]
jne 0x1000c673
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c673
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp edi, 0x3d
jge 0x1000c6a0
cmp byte [edx + ebx + 0x20], 0
lea ecx, [edx + 0x20]
jne 0x1000c6a0
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000c6a0
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
inc edx
lea eax, [esp + edx*2 + 0x40]
xor edx, edx
mov dx, word [eax]
mov word [eax], 0xffff
cmp edx, 0xfffc
mov dword [esp + 0x14], edx
je 0x1000cdb3
mov eax, edx
mov edi, edx
sar eax, 5
and eax, 0x1f
and edi, 0x1f
shl eax, 1
mov dword [esp + 0x1c], eax
mov eax, edx
sar eax, 0xa
and eax, 0x1f
shl eax, 1
mov dword [esp + 0x18], eax
xor eax, eax
mov al, byte [edx + ebx]
shl edi, 1
mov cl, byte [esi + eax*4]
sub ecx, dword [esp + 0x18]
and ecx, 0x7f
mov ecx, dword [ecx*4 + 0x1007d624]
mov dword [esp + 0x30], ecx
mov cl, byte [esi + eax*4 + 1]
sub ecx, dword [esp + 0x1c]
and ecx, 0x7f
mov ecx, dword [ecx*4 + 0x1007d424]
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov cl, byte [esi + eax*4 + 2]
mov dword [esp + 0x38], ecx
sub ecx, edi
and ecx, 0x7f
cmp edi, 0x3d
mov ecx, dword [ecx*4 + 0x1007d824]
mov dword [esp + 0x2c], ecx
jge 0x1000c814
mov cl, byte [edx + ebx + 1]
test cl, cl
jne 0x1000c76c
lea ecx, [edx + 1]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
lea ecx, [esp + ecx*2 + 0x40]
jne 0x1000c814
mov word [ecx], 0xfffc
lea ecx, [edx + 1]
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
jmp 0x1000c814
and ecx, 0xff
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x1000c814
mov dl, byte [esi + ecx*4 + 2]
mov cl, byte [esi + ecx*4 + 1]
mov ebp, edi
sub ebp, edx
mov edx, dword [esp + 0x1c]
add ebp, 2
sub edx, ecx
and ebp, 0x7f
and edx, 0x7f
mov ecx, dword [ebp*4 + 0x1007d824]
mov ebp, dword [edx*4 + 0x1007d424]
mov edx, dword [esp + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov dl, byte [esi + edx*4]
sub ebp, edx
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x38]
add ecx, edx
mov edx, edi
sub edx, ebp
mov ebp, dword [esp + 0x28]
add edx, 2
and edx, 0x7f
mov edx, dword [edx*4 + 0x1007d824]
add edx, ebp
mov ebp, dword [esp + 0x30]
add edx, ebp
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000c810
lea ebp, [edx + 1]
cmp word [esp + ebp*2 + 0x40], 0xffff
mov byte [ebx + ebp], al
jne 0x1000c810
mov ecx, dword [esp + 0x10]
mov word [esp + ebp*2 + 0x40], 0xfffc
mov dword [esp + 0x10], ebp
mov word [esp + ecx*2 + 0x40], bp
jmp 0x1000c814
mov ebp, dword [esp + 0x10]
test edi, edi
jle 0x1000c8fb
mov cl, byte [edx + ebx - 1]
test cl, cl
jne 0x1000c853
lea ecx, [edx - 1]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
lea ecx, [esp + ecx*2 + 0x40]
jne 0x1000c8fb
mov word [ecx], 0xfffc
lea ecx, [edx - 1]
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
jmp 0x1000c8fb
and ecx, 0xff
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x1000c8fb
mov dl, byte [esi + ecx*4 + 2]
mov cl, byte [esi + ecx*4 + 1]
mov ebp, edi
sub ebp, edx
mov edx, dword [esp + 0x1c]
sub ebp, 2
sub edx, ecx
and ebp, 0x7f
and edx, 0x7f
mov ecx, dword [ebp*4 + 0x1007d824]
mov ebp, dword [edx*4 + 0x1007d424]
mov edx, dword [esp + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov dl, byte [esi + edx*4]
sub ebp, edx
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, edi
add ecx, edx
mov dl, byte [esi + eax*4 + 2]
sub ebp, edx
sub ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d824]
mov ebp, dword [esp + 0x28]
add edx, ebp
mov ebp, dword [esp + 0x30]
add edx, ebp
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000c8f7
lea ebp, [edx - 1]
cmp word [esp + ebp*2 + 0x40], 0xffff
mov byte [ebx + ebp], al
jne 0x1000c8f7
mov ecx, dword [esp + 0x10]
mov word [esp + ebp*2 + 0x40], 0xfffc
mov dword [esp + 0x10], ebp
mov word [esp + ecx*2 + 0x40], bp
jmp 0x1000c8fb
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x18], 0x3d
jge 0x1000c9f2
mov cl, byte [edx + ebx + 0x400]
test cl, cl
jne 0x1000c946
lea ecx, [edx + 0x400]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
lea ecx, [esp + ecx*2 + 0x40]
jne 0x1000c9f2
mov word [ecx], 0xfffc
lea ecx, [edx + 0x400]
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
jmp 0x1000c9f2
and ecx, 0xff
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x1000c9f2
mov dl, byte [esi + ecx*4 + 1]
mov ebp, dword [esp + 0x1c]
mov cl, byte [esi + ecx*4 + 2]
sub ebp, edx
mov edx, edi
and ebp, 0x7f
sub edx, ecx
mov ecx, dword [ebp*4 + 0x1007d424]
and edx, 0x7f
mov ebp, dword [edx*4 + 0x1007d824]
mov edx, dword [esp + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov dl, byte [esi + edx*4]
sub ebp, edx
add ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x18]
add ecx, edx
mov dl, byte [esi + eax*4]
sub ebp, edx
add ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x28]
add edx, ebp
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000c9ee
lea ebp, [edx + 0x400]
cmp word [esp + ebp*2 + 0x40], 0xffff
mov byte [ebx + ebp], al
jne 0x1000c9ee
mov ecx, dword [esp + 0x10]
mov word [esp + ebp*2 + 0x40], 0xfffc
mov dword [esp + 0x10], ebp
mov word [esp + ecx*2 + 0x40], bp
jmp 0x1000c9f2
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jle 0x1000caea
mov cl, byte [edx + ebx - 0x400]
test cl, cl
jne 0x1000ca3e
lea ecx, [edx - 0x400]
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
lea ecx, [esp + ecx*2 + 0x40]
jne 0x1000caea
mov word [ecx], 0xfffc
lea ecx, [edx - 0x400]
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
jmp 0x1000caea
and ecx, 0xff
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x1000caea
mov dl, byte [esi + ecx*4 + 1]
mov ebp, dword [esp + 0x1c]
mov cl, byte [esi + ecx*4 + 2]
sub ebp, edx
mov edx, edi
and ebp, 0x7f
sub edx, ecx
mov ecx, dword [ebp*4 + 0x1007d424]
and edx, 0x7f
mov ebp, dword [edx*4 + 0x1007d824]
mov edx, dword [esp + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov dl, byte [esi + edx*4]
sub ebp, edx
sub ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x18]
add ecx, edx
mov dl, byte [esi + eax*4]
sub ebp, edx
sub ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x28]
add edx, ebp
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000cae6
lea ebp, [edx - 0x400]
cmp word [esp + ebp*2 + 0x40], 0xffff
mov byte [ebx + ebp], al
jne 0x1000cae6
mov ecx, dword [esp + 0x10]
mov word [esp + ebp*2 + 0x40], 0xfffc
mov dword [esp + 0x10], ebp
mov word [esp + ecx*2 + 0x40], bp
jmp 0x1000caea
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x1c], 0x3d
jge 0x1000cb1e
lea ecx, [edx + 0x20]
mov dl, byte [edx + ebx + 0x20]
test dl, dl
jne 0x1000cb60
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000cb1a
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x1000ccc2
lea ecx, [edx - 0x20]
mov dl, byte [edx + ebx - 0x20]
test dl, dl
jne 0x1000cc10
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000ccbe
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
jmp 0x1000ccbe
mov ecx, edx
and ecx, 0xff
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x1000cb1a
mov dl, byte [esi + ecx*4 + 1]
mov ebp, dword [esp + 0x1c]
mov cl, byte [esi + ecx*4 + 2]
sub ebp, edx
mov edx, edi
add ebp, 2
sub edx, ecx
and ebp, 0x7f
and edx, 0x7f
mov ecx, dword [ebp*4 + 0x1007d424]
mov ebp, dword [edx*4 + 0x1007d824]
mov edx, dword [esp + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov dl, byte [esi + edx*4]
sub ebp, edx
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x1c]
add ecx, edx
mov dl, byte [esi + eax*4 + 1]
sub ebp, edx
add ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d424]
mov ebp, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x30]
add edx, ebp
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000cc07
lea ebp, [edx + 0x20]
cmp word [esp + ebp*2 + 0x40], 0xffff
mov byte [ebx + ebp], al
jne 0x1000cc07
mov ecx, dword [esp + 0x10]
mov word [esp + ebp*2 + 0x40], 0xfffc
mov dword [esp + 0x10], ebp
mov word [esp + ecx*2 + 0x40], bp
jmp 0x1000cb1e
mov ebp, dword [esp + 0x10]
jmp 0x1000cb1e
mov ecx, edx
and ecx, 0xff
cmp ecx, eax
mov dword [esp + 0x20], ecx
je 0x1000ccbe
mov dl, byte [esi + ecx*4 + 1]
mov ebp, dword [esp + 0x1c]
mov cl, byte [esi + ecx*4 + 2]
sub ebp, edx
mov edx, edi
sub ebp, 2
sub edx, ecx
and ebp, 0x7f
and edx, 0x7f
mov ecx, dword [ebp*4 + 0x1007d424]
mov ebp, dword [edx*4 + 0x1007d824]
mov edx, dword [esp + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov dl, byte [esi + edx*4]
sub ebp, edx
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d624]
mov ebp, dword [esp + 0x1c]
add ecx, edx
mov dl, byte [esi + eax*4 + 1]
sub ebp, edx
sub ebp, 2
and ebp, 0x7f
mov edx, dword [ebp*4 + 0x1007d424]
mov ebp, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x30]
add edx, ebp
cmp ecx, edx
mov edx, dword [esp + 0x14]
jle 0x1000ccb8
lea ebp, [edx - 0x20]
cmp word [esp + ebp*2 + 0x40], 0xffff
mov byte [ebx + ebp], al
jne 0x1000ccb8
mov ecx, dword [esp + 0x10]
mov word [esp + ebp*2 + 0x40], 0xfffc
mov dword [esp + 0x10], ebp
mov word [esp + ecx*2 + 0x40], bp
jmp 0x1000ccc2
mov ebp, dword [esp + 0x10]
jmp 0x1000ccc2
mov edx, dword [esp + 0x14]
cmp edi, 0x3d
jge 0x1000cda1
xor ecx, ecx
mov cl, byte [edx + ebx + 1]
cmp ecx, eax
jne 0x1000cda1
mov edi, dword [esp + 0x18]
inc edx
test edi, edi
jle 0x1000cd10
cmp byte [edx + ebx - 0x400], 0
lea ecx, [edx - 0x400]
jne 0x1000cd10
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000cd10
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp edi, 0x3d
jge 0x1000cd43
cmp byte [edx + ebx + 0x400], 0
lea ecx, [edx + 0x400]
jne 0x1000cd43
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000cd43
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
mov edi, dword [esp + 0x1c]
test edi, edi
jle 0x1000cd73
cmp byte [edx + ebx - 0x20], 0
lea ecx, [edx - 0x20]
jne 0x1000cd73
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000cd73
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp edi, 0x3d
jge 0x1000cda0
cmp byte [edx + ebx + 0x20], 0
lea ecx, [edx + 0x20]
jne 0x1000cda0
cmp word [esp + ecx*2 + 0x40], 0xffff
mov byte [ecx + ebx], al
jne 0x1000cda0
mov word [esp + ecx*2 + 0x40], 0xfffc
mov word [esp + ebp*2 + 0x40], cx
mov ebp, ecx
mov dword [esp + 0x10], ebp
dec edx
lea eax, [esp + edx*2 + 0x40]
xor edx, edx
mov dx, word [eax]
mov word [eax], 0xffff
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
inc ecx
lea eax, [edi + edi*4 + 5]
mov dword [esp + 0x3c], ecx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 4
cdq
and edx, 0xff
add eax, edx
sar eax, 8
cmp ecx, eax
jne 0x1000cdfe
cmp edi, 0x100
jge 0x1000cdfe
mov eax, dword [esp + 0x1004c]
test eax, eax
je 0x1000cdf9
push edi
call eax
add esp, 4
inc edi
mov dword [esp + 0x34], edi
cmp dword [esp + 0x14], 0xfffc
jne 0x1000bff5
cmp byte [esi], 0x3f
jne 0x1000ce25
mov al, byte [esi + 1]
test al, al
jne 0x1000ce25
cmp byte [esi + 2], 0x3f
jne 0x1000ce25
mov byte [ebx + 0x7c1f], 0
mov eax, dword [esp + 0x1004c]
test eax, eax
je 0x1000ce55
mov eax, dword [esp + 0x34]
cmp eax, 0x100
jge 0x1000ce55
mov edi, dword [esp + 0x1004c]
mov esi, eax
mov eax, esi
inc esi
push eax
call edi
add esp, 4
cmp esi, 0x100
jl 0x1000ce44
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10030
ret