Function at 0x10007be0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0x10]
sub esp, 0xc
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x10008bdd
cmp dword [esi], 0x3039
jne 0x10008bdd
push edi
mov edi, dword [esi + 0xc]
cmp dword [edi + 0xb90], 0
je 0x10007c16
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov bx, word [ebp + 0x18]
cmp bx, 0xffff
jl 0x10008bd1
movzx eax, word [edi + 0x24]
mov dword [ebp - 8], eax
cmp bx, ax
jge 0x10008bd1
mov ecx, dword [ebp + 0x14]
cmp ecx, 0xffffffff
jl 0x10008bc5
mov eax, dword [edi + 0x48]
mov dword [ebp - 0xc], eax
cmp ecx, eax
jge 0x10008bc5
mov eax, dword [ebp + 0xc]
dec eax
cmp eax, 0x4b
ja case.0x10007c63.17
movzx eax, byte [eax + 0x10008c80]
jmp dword [eax*4 + 0x10008be8]
xor eax, eax
test edx, edx
pop ebx
setne al
mov dword [edi + 0xbc4], eax
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 1
je 0x10007c92
cmp edx, 2
je 0x10007c92
test edx, edx
jne 0x10008b95
cmp bx, 0xffff
jne 0x10008b7b
pop ebx
mov dword [edi + 0x880], edx
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x10008b95
cmp bx, 0xffff
jne 0x10007ced
movzx ebx, word [edi + 0x24]
xor eax, eax
xor ecx, ecx
cmp ax, bx
jae 0x10007e5b
nop word [eax + eax]
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x30]
mov dword [eax + ecx*4], edx
inc ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10007cd0
jmp 0x10007e5b
mov eax, dword [esi + 0x83c]
movsx ecx, bx
mov eax, dword [eax + 0x30]
mov dword [eax + ecx*4], edx
jmp 0x10007e5b
test edx, edx
je 0x10008b95
cmp bx, 0xffff
jne 0x10007d3d
movzx ebx, word [edi + 0x24]
xor eax, eax
xor ecx, ecx
cmp ax, bx
jae 0x10007e5b
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x34]
mov dword [eax + ecx*4], edx
inc ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10007d20
jmp 0x10007e5b
mov eax, dword [esi + 0x83c]
movsx ecx, bx
mov eax, dword [eax + 0x34]
mov dword [eax + ecx*4], edx
jmp 0x10007e5b
cmp edx, 0x1c
jbe 0x10007d62
mov eax, 0xffffffe5
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10007d9e
mov ebx, dword [ebp - 8]
xor eax, eax
xor ecx, ecx
cmp ax, bx
jae 0x100080bc
nop dword [eax + eax]
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x28]
mov byte [ecx + eax], dl
inc ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10007d80
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x28]
movsx ecx, bx
pop ebx
pop edi
pop esi
mov byte [ecx + eax], dl
xor eax, eax
mov esp, ebp
pop ebp
ret
cmp edx, 1
ja 0x10008b95
cmp bx, 0xffff
jne 0x10007df1
movzx ebx, word [edi + 0x24]
xor eax, eax
xor ecx, ecx
cmp ax, bx
jae 0x100080bc
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], edx
inc ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10007dd0
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
movsx ecx, bx
pop ebx
pop edi
mov eax, dword [eax + 0x38]
pop esi
mov dword [eax + ecx*4], edx
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
test eax, eax
je 0x10007eb3
cmp bx, 0xffff
jne 0x10008b7b
sub eax, dword [edi + 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
add dword [ecx + 4], eax
jmp 0x10007e5b
mov eax, dword [edi + 8]
test eax, eax
je 0x10007eb3
cmp bx, 0xffff
jne 0x10008b7b
sub eax, dword [edi + 0x10]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 0x10], edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x10]
add dword [ecx + 8], eax
push esi
call fcn.10012900
add esp, 4
test eax, eax
jne 0x10007d5b
jmp 0x10007ecc
cmp dword [edi + 4], 0
je 0x10007eb3
cmp bx, 0xffff
jne 0x10008b7b
mov dword [edi + 0x14], edx
jmp 0x10007ecc
cmp dword [edi + 8], 0
je 0x10007eb3
cmp bx, 0xffff
jne 0x10008b7b
mov dword [edi + 0x18], edx
jmp 0x10007ecc
cmp dword [edi + 4], 0
je 0x10007eb3
cmp bx, 0xffff
jne 0x10008b7b
mov dword [edi + 0x1c], edx
jmp 0x10007ecc
cmp dword [edi + 8], 0
jne 0x10007ebf
pop ebx
pop edi
mov eax, 0xffffffe1
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
mov dword [edi + 0x20], edx
push esi
call fcn.10012c90
add esp, 4
test eax, eax
je 0x100080bc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
pop ebx
pop edi
mov dword [esi + 0x834], edx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
pop ebx
pop edi
mov dword [esi + 0x838], edx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
pop ebx
pop edi
mov dword [esi + 0x844], edx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
pop ebx
pop edi
mov dword [esi + 0x848], edx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
xor ecx, ecx
test edx, edx
pop ebx
setne cl
pop edi
mov dword [eax + 0x64], ecx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
test edx, edx
jne 0x10007f81
pop ebx
pop edi
mov dword [eax + 0x54], edx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov dword [eax + 0x4c], edx
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
pop esi
mov dword [eax + 0x54], 2
xor eax, eax
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x10008b95
cmp edx, 0x64
ja 0x10008b95
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
mov dword [eax + 0x50], edx
mov eax, dword [esi + 0x83c]
pop esi
mov dword [eax + 0x54], 1
xor eax, eax
mov esp, ebp
pop ebp
ret
cmp edx, 7
ja 0x10008b95
cmp ecx, 0xffffffff
jne 0x10008071
mov ecx, dword [edi + 0x48]
xor eax, eax
mov dword [ebp - 8], eax
test ecx, ecx
jle 0x100080bc
mov byte [ebp - 1], dl
nop dword [eax]
cmp bx, 0xffff
jne 0x10008039
xor esi, esi
xor ecx, ecx
cmp si, word [edi + 0x24]
mov esi, dword [ebp + 8]
jae 0x10008034
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
inc ecx
mov edi, dword [esi + 0xc]
movzx eax, word [edi + 0x24]
cmp ecx, eax
jl 0x10008013
mov eax, dword [ebp - 8]
mov byte [ebp - 1], dl
jmp 0x1000805f
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov dl, byte [ebp - 1]
movsx ecx, bx
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
mov cl, dl
mov edi, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
mov byte [ebp - 1], cl
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x48]
jl 0x10008000
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x100080a7
mov ebx, dword [ebp - 8]
xor eax, eax
xor edi, edi
cmp ax, bx
jae 0x100080bc
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + ecx*4]
mov byte [edi + eax], dl
inc edi
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp edi, eax
jl 0x10008083
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x2c]
mov edi, dword [ebp + 0x14]
movsx ecx, bx
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0xffff
ja 0x10008b95
test edx, edx
je 0x10008b95
cmp edx, 0x1f
ja 0x100082a9
cmp ecx, 0xffffffff
jne 0x1000810e
xor ecx, ecx
cmp dword [ebp - 0xc], ecx
jle 0x100080bc
nop
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 8]
mov dword [eax + ecx*4], edx
inc ecx
mov eax, dword [esi + 0xc]
cmp ecx, dword [eax + 0x48]
jl 0x100080f0
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
pop esi
mov eax, dword [eax + 8]
mov dword [eax + ecx*4], edx
xor eax, eax
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x10008130
cmp edx, 1
jne 0x10008b95
cmp ecx, 0xffffffff
jne 0x100081ef
xor eax, eax
mov dword [ebp + 8], eax
mov eax, dword [edi + 0x48]
test eax, eax
jle 0x100080bc
nop dword [eax]
cmp bx, 0xffff
jne 0x1000819f
xor eax, eax
xor ecx, ecx
cmp ax, word [edi + 0x24]
mov edi, dword [ebp + 8]
jae 0x100081d3
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + edi*4]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + edi*4]
test edx, edx
jne 0x1000818d
cmp byte [eax + ecx], dl
jne 0x10008191
mov byte [eax + ecx], 2
jmp 0x10008191
mov byte [eax + ecx], 0
mov eax, dword [esi + 0xc]
inc ecx
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10008163
jmp 0x100081d3
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp + 8]
movsx ecx, bx
mov eax, dword [eax + 0x24]
mov eax, dword [eax + edi*4]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + edi*4]
test edx, edx
jne 0x100081cf
cmp byte [eax + ecx], dl
jne 0x100081d3
mov byte [eax + ecx], 2
jmp 0x100081d3
mov byte [eax + ecx], 0
inc edi
mov dword [ebp + 8], edi
mov edi, dword [esi + 0xc]
mov eax, dword [ebp + 8]
cmp eax, dword [edi + 0x48]
jl 0x10008150
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008253
mov ebx, dword [ebp - 8]
xor eax, eax
xor edi, edi
cmp ax, bx
jae 0x100080bc
nop word [eax + eax]
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + ecx*4]
mov dword [eax + edi*4], edx
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*4]
test edx, edx
jne 0x1000823a
cmp byte [eax + edi], dl
jne 0x1000823e
mov byte [eax + edi], 2
jmp 0x1000823e
mov byte [eax + edi], 0
mov eax, dword [esi + 0xc]
inc edi
movzx eax, word [eax + 0x24]
cmp edi, eax
jl 0x10008210
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp + 0x14]
movsx ecx, bx
mov eax, dword [eax + 0x24]
mov eax, dword [eax + edi*4]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + edi*4]
test edx, edx
jne 0x1000828e
cmp byte [eax + ecx], dl
jne 0x100080bc
pop ebx
pop edi
mov byte [eax + ecx], 2
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov byte [eax + ecx], 0
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0x20
ja 0x10008b95
cmp edx, 0x10
jbe 0x100082b5
pop ebx
pop edi
mov eax, 0xffffffdd
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 0xffffffff
jne 0x10008342
mov ecx, dword [edi + 0x48]
xor eax, eax
mov dword [ebp - 8], eax
test ecx, ecx
jle 0x100080bc
mov byte [ebp - 1], dl
cmp bx, 0xffff
jne 0x1000830a
xor esi, esi
xor ecx, ecx
cmp si, word [edi + 0x24]
mov esi, dword [ebp + 8]
jae 0x10008305
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
inc ecx
mov edi, dword [esi + 0xc]
movzx eax, word [edi + 0x24]
cmp ecx, eax
jl 0x100082e4
mov eax, dword [ebp - 8]
mov byte [ebp - 1], dl
jmp 0x10008330
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov dl, byte [ebp - 1]
movsx ecx, bx
mov eax, dword [eax + 0x20]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
mov cl, dl
mov edi, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
mov byte [ebp - 1], cl
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x48]
jl 0x100082d1
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008384
mov ebx, dword [ebp - 8]
xor eax, eax
xor edi, edi
cmp ax, bx
jae 0x100080bc
nop dword [eax + eax]
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + ecx*4]
mov byte [edi + eax], dl
inc edi
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp edi, eax
jl 0x10008360
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x20]
jmp 0x100080b0
test edx, edx
je 0x100083a4
cmp edx, 1
je 0x100083a4
cmp edx, 2
jne 0x10008b95
cmp ecx, 0xffffffff
jne 0x100084c2
mov eax, dword [edi + 0x48]
mov dword [ebp - 8], 0
test eax, eax
jle 0x10008440
nop
cmp bx, 0xffff
jne 0x10008407
movzx eax, word [edi + 0x24]
xor ecx, ecx
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10008434
mov eax, dword [esi + 0x83c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x100083f4
test edx, edx
je 0x10008563
jmp 0x100083fc
test edx, edx
jne 0x10008563
inc ecx
add eax, 4
cmp ecx, dword [ebp - 0xc]
jl 0x100083e5
jmp 0x10008434
mov eax, dword [esi + 0x83c]
mov esi, dword [ebp - 8]
movsx ecx, bx
mov eax, dword [eax + 0x24]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp + 8]
cmp dword [eax + ecx*4], 0
jne 0x1000842c
test edx, edx
je 0x10008563
jmp 0x10008434
test edx, edx
jne 0x10008563
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x48]
jl 0x100083c0
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [edi + 0x48], eax
jle 0x100080bc
mov byte [ebp - 1], dl
cmp bx, 0xffff
jne 0x1000848a
xor esi, esi
xor ecx, ecx
cmp si, word [edi + 0x24]
mov esi, dword [ebp + 8]
jae 0x10008485
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
inc ecx
mov edi, dword [esi + 0xc]
movzx eax, word [edi + 0x24]
cmp ecx, eax
jl 0x10008464
mov eax, dword [ebp - 8]
mov byte [ebp - 1], dl
jmp 0x100084b0
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov dl, byte [ebp - 1]
movsx ecx, bx
mov eax, dword [eax + 0x28]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
mov cl, dl
mov edi, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
mov byte [ebp - 1], cl
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x48]
jl 0x10008451
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008534
movzx eax, word [edi + 0x24]
xor ebx, ebx
mov dword [ebp + 8], eax
test eax, eax
je 0x100084fd
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + ecx*4]
cmp dword [eax], 0
jne 0x100084f0
test edx, edx
je 0x10008563
jmp 0x100084f4
test edx, edx
jne 0x10008563
inc ebx
add eax, 4
cmp ebx, dword [ebp + 8]
jl 0x100084e1
xor eax, eax
xor ebx, ebx
cmp ax, word [edi + 0x24]
jae 0x100080bc
nop dword [eax + eax]
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*4]
mov byte [ebx + eax], dl
inc ebx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ebx, eax
jl 0x10008510
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [esi + 0x83c]
movsx edi, bx
mov eax, dword [esi + 0x24]
mov eax, dword [eax + ecx*4]
cmp dword [eax + edi*4], 0
jne 0x1000855f
test edx, edx
je 0x10008563
mov eax, dword [esi + 0x28]
pop ebx
mov eax, dword [eax + ecx*4]
mov byte [edi + eax], dl
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x1000854d
pop ebx
pop edi
mov eax, 0xffffffdb
pop esi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp edx, 1
jbe 0x10008b95
mov eax, edx
nop dword [eax]
test al, 1
jne 0x10008b95
inc ecx
mov eax, edx
shr eax, cl
mov dword [ebp + 0x10], ecx
cmp eax, 1
ja 0x10008580
mov edx, ecx
cmp edx, 2
jb 0x10008b95
cmp edx, 0xa
ja 0x10008b95
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
jne 0x10008674
mov ecx, dword [edi + 0x48]
xor eax, eax
mov dword [ebp + 0x10], eax
test ecx, ecx
jle 0x100080bc
mov cl, dl
cmp bx, 0xffff
jne 0x10008620
xor esi, esi
xor ecx, ecx
cmp si, word [edi + 0x24]
mov esi, dword [ebp + 8]
jae 0x1000861c
nop word [eax + eax]
mov edi, dword [esi + 0x83c]
mov esi, dword [ebp + 0x10]
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp + 8]
movzx eax, byte [eax + ecx]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [edi + 0x18]
mov edi, dword [ebp + 0x10]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
inc ecx
mov edi, dword [esi + 0xc]
movzx eax, word [edi + 0x24]
cmp ecx, eax
jl 0x100085e0
mov eax, dword [ebp + 0x10]
mov cl, dl
jmp 0x1000865e
mov edi, dword [esi + 0x83c]
shl eax, 2
mov dword [ebp - 0xc], eax
mov esi, eax
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + esi]
movsx esi, bx
movzx eax, byte [eax + esi]
mov esi, dword [ebp + 8]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [edi + 0x18]
mov edi, dword [ebp - 0xc]
mov eax, dword [eax + edi]
movsx edi, bx
mov byte [edi + eax], cl
mov edi, dword [esi + 0xc]
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
cmp eax, dword [edi + 0x48]
jl 0x100085c7
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x100086ca
mov ebx, dword [ebp - 8]
xor edi, edi
xor ecx, ecx
cmp di, bx
jae 0x100080bc
lea ebx, [eax*4]
mov edi, dword [esi + 0x83c]
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + ebx]
movzx eax, byte [eax + ecx]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [edi + 0x18]
mov eax, dword [eax + ebx]
mov byte [ecx + eax], dl
inc ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10008691
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x83c]
lea esi, [eax*4]
movsx edi, bx
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + esi]
movzx eax, byte [eax + edi]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [ecx + 0x18]
pop ebx
mov eax, dword [eax + esi]
mov byte [edi + eax], dl
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp edx, 1
jbe 0x10008b95
mov eax, edx
nop
test al, 1
jne 0x10008b95
inc ecx
mov eax, edx
shr eax, cl
mov dword [ebp + 0x10], ecx
cmp eax, 1
ja 0x10008710
mov edx, ecx
cmp edx, 2
jb 0x10008b95
cmp edx, 0xa
ja 0x10008b95
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
jne 0x10008804
mov ecx, dword [edi + 0x48]
xor eax, eax
mov dword [ebp + 0x10], eax
test ecx, ecx
jle 0x100080bc
mov cl, dl
cmp bx, 0xffff
jne 0x100087b0
xor esi, esi
xor ecx, ecx
cmp si, word [edi + 0x24]
mov esi, dword [ebp + 8]
jae 0x100087ac
nop word [eax + eax]
mov edi, dword [esi + 0x83c]
mov esi, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp + 8]
movzx eax, byte [eax + ecx]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [edi + 0x1c]
mov edi, dword [ebp + 0x10]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
inc ecx
mov edi, dword [esi + 0xc]
movzx eax, word [edi + 0x24]
cmp ecx, eax
jl 0x10008770
mov eax, dword [ebp + 0x10]
mov cl, dl
jmp 0x100087ee
mov edi, dword [esi + 0x83c]
shl eax, 2
mov dword [ebp - 0xc], eax
mov esi, eax
mov eax, dword [edi + 0x18]
mov eax, dword [eax + esi]
movsx esi, bx
movzx eax, byte [eax + esi]
mov esi, dword [ebp + 8]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [edi + 0x1c]
mov edi, dword [ebp - 0xc]
mov eax, dword [eax + edi]
movsx edi, bx
mov byte [edi + eax], cl
mov edi, dword [esi + 0xc]
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
cmp eax, dword [edi + 0x48]
jl 0x10008757
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x1000885a
mov ebx, dword [ebp - 8]
xor edi, edi
xor ecx, ecx
cmp di, bx
jae 0x100080bc
lea ebx, [eax*4]
mov edi, dword [esi + 0x83c]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + ebx]
movzx eax, byte [eax + ecx]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + ebx]
mov byte [ecx + eax], dl
inc ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp ecx, eax
jl 0x10008821
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x83c]
lea esi, [eax*4]
movsx edi, bx
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + esi]
movzx eax, byte [eax + edi]
add eax, edx
cmp eax, 0xc
ja 0x10008b95
mov eax, dword [ecx + 0x1c]
pop ebx
mov eax, dword [eax + esi]
mov byte [edi + eax], dl
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0x28
jne 0x100088a0
pop ebx
pop edi
lea eax, [edx - 0x61]
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0x3c
jne 0x100088af
pop ebx
pop edi
lea eax, [edx - 0x76]
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0xb
je 0x10008924
cmp edx, 0x15
je 0x10008924
cmp edx, 0x1f
je 0x10008924
cmp edx, 0x33
je 0x10008924
cmp edx, 0x3d
je 0x10008924
cmp edx, 0x29
je 0x10008924
test edx, edx
je 0x10008b95
cmp edx, 1
je 0x10008b95
cmp edx, 0x16
je 0x10008b95
cmp edx, 0x17
je 0x10008b95
cmp edx, 0xa
je 0x10008908
cmp edx, 0x14
je 0x10008908
cmp edx, 0x1e
je 0x10008908
cmp edx, 0x32
jne 0x10008b95
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
pop esi
mov dword [eax + 0x60], edx
xor eax, eax
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xffffffc0
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x1000893d
cmp edx, 1
jne 0x10008b95
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
pop esi
mov dword [eax + 0x58], edx
xor eax, eax
mov esp, ebp
pop ebp
ret
cmp edx, 0x3f
ja 0x10008b95
test dl, 1
jne 0x10008b95
cmp ecx, 0xffffffff
jne 0x100089fe
mov ecx, dword [edi + 0x48]
xor eax, eax
mov dword [ebp - 8], eax
test ecx, ecx
jle 0x100080bc
mov byte [ebp - 1], dl
cmp bx, 0xffff
jne 0x100089c6
xor esi, esi
xor ecx, ecx
cmp si, word [edi + 0x24]
mov esi, dword [ebp + 8]
jae 0x100089c1
nop word [eax + eax]
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
inc ecx
mov edi, dword [esi + 0xc]
movzx eax, word [edi + 0x24]
cmp ecx, eax
jl 0x100089a0
mov eax, dword [ebp - 8]
mov byte [ebp - 1], dl
jmp 0x100089ec
mov eax, dword [esi + 0x83c]
mov edi, dword [ebp - 8]
mov dl, byte [ebp - 1]
movsx ecx, bx
mov eax, dword [eax + 0x14]
mov eax, dword [eax + edi*4]
mov byte [ecx + eax], dl
mov cl, dl
mov edi, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
mov byte [ebp - 1], cl
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x48]
jl 0x10008987
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008a36
xor eax, eax
xor edi, edi
cmp ax, word [ebp - 8]
jae 0x100080bc
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov byte [edi + eax], dl
inc edi
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 0x24]
cmp edi, eax
jl 0x10008a12
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 0x14]
jmp 0x100080b0
cmp edx, 3
ja 0x10008b95
cmp ecx, 0xffffffff
jne 0x10008a87
xor ecx, ecx
cmp dword [ebp - 0xc], ecx
jle 0x100080bc
nop dword [eax]
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
mov eax, dword [eax]
mov byte [ecx + eax], dl
inc ecx
mov eax, dword [esi + 0xc]
cmp ecx, dword [eax + 0x48]
jl 0x10008a60
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
pop esi
mov eax, dword [eax]
mov byte [ecx + eax], dl
xor eax, eax
mov esp, ebp
pop ebp
ret
cmp edx, 4
ja 0x10008b95
cmp ecx, 0xffffffff
jne 0x10008ae8
xor ecx, ecx
cmp dword [ebp - 0xc], ecx
jle 0x100080bc
nop
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
mov eax, dword [eax + 4]
mov byte [ecx + eax], dl
inc ecx
mov eax, dword [esi + 0xc]
cmp ecx, dword [eax + 0x48]
jl 0x10008ac0
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp bx, 0xffff
jne 0x10008b7b
mov eax, dword [esi + 0x83c]
pop ebx
pop edi
pop esi
mov eax, dword [eax + 4]
mov byte [ecx + eax], dl
xor eax, eax
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x10008b2e
cmp edx, 1
je 0x10008b2e
cmp edx, 2
je 0x10008b2e
cmp edx, 3
je 0x10008b2e
cmp edx, 4
je 0x10008b2e
cmp edx, 5
je 0x10008b2e
cmp edx, 8
je 0x10008b2e
cmp edx, 9
jne 0x10008b95
cmp bx, 0xffff
jne 0x10008b7b
cmp ecx, 0xffffffff
jne 0x10008b6f
pop ebx
mov dword [edi + 0xb8c], edx
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 1
ja 0x10008b95
cmp bx, 0xffff
jne 0x10008b7b
cmp ecx, 0xffffffff
jne 0x10008b6f
xor eax, eax
cmp edx, 1
pop ebx
sete al
mov dword [edi + 0xb88], eax
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xffffffeb
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xffffffec
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
movzx eax, ax
cmp edx, eax
je 0x100080bc
pop ebx
pop edi
mov eax, 0xfffffff8
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xffffffea
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xffffffe7
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xfffffff7
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xfffffff0
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
mov eax, 0xfffffff9
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffc
pop esi
mov esp, ebp
pop ebp
ret